Modding Help How do I get a fullbright.png to work on a monster, critter, etc?

Discussion in 'Starbound Modding' started by ShirtyScarab554, Jun 7, 2017.

  1. ShirtyScarab554

    ShirtyScarab554 Subatomic Cosmonaut

    So I'm working on some critters for a mod I am working on and I can't figure out how to get it to have glowing eyes. I tried copying some of the coding from the Chiropterror from the 1.3 update and it causes my critter to not spawn, what should I do?

    .monsterpart code-
    Code:
    {
      "name" : "etecooncritter",
      "category" : "etecooncritter",
      "type" : "body",
    
      "frames" : {
        "body" : "body.png",
        "bodyfullbright" : "etecoonfullbright.png"
      }
    }
    
    .animation code-
    Code:
    {
      "animatedParts" : {
        "stateTypes" : {
          "damage" : {
            "priority" : 3,
            "default" : "none",
            "states" : {
              "none" : {
                "frames" : 1
              },
              "stunned" : {
                "frames" : 1
              }
            }
          },
          "movement" : {
            "priority" : 0,
            "default" : "idle",
            "states" : {
              "idle" : {
                "frames" : 3,
                "cycle" : 0.7,
                "mode" : "loop"
              },
              "walk" : {
                "frames" : 4,
                "cycle" : 0.4,
                "mode" : "loop"
              }
            }
          },
           "bodyfullbright" : {
            "properties" : {
              "zLevel" : 2,
              "anchorPart" : "body",
              "fullbright" : true
            },
          "releaseParticles" : {
            "default" : "off",
            "states" : {
              "off" : {
                "frames" : 1,
                "properties" : {
                  "particleEmittersOff" : [ "releaseParticles" ]
                }
              },
              "on" : {
                "frames" : 1,
                "cycle" : 0.1,
                "mode" : "transition",
                "transition" : "off",
                "properties" : {
                  "particleEmittersOn" : [ "releaseParticles" ]
                }
              }
            }
          }
        },
    
        "parts" : {
          "body" : {
            "properties" : {
              "rotationGroup" : "body"
            },
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle.<frame>"
                  }
                },
                "walk" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                }
              }
            }
          }
        }
      },
    
      "rotationGroups" : {
        "body" : {
          "rotationCenter" : [0, 0],
          "angularVelocity" : 5
        }
      },
    
      "particleEmitters" : {
         "deathPoof" : {
          "particles" : [
            { "particle" : "monstersplosion" },
            { "particle" : "deathfizz1left" },
            { "particle" : "deathfizz1right" },
            { "particle" : "deathfizz2left" },
            { "particle" : "deathfizz2right" },
            { "particle" : "deathfizz3left" },
            { "particle" : "deathfizz3right" },
            { "particle" : "deathfizz4left" },
            { "particle" : "deathfizz4right" }       
          ]
        },
    
    
        "captureParticles":{
          "particles" : [
            { "particle" : "monstercapture" }
          ]
        },
        "releaseParticles":{
          "particles" : [
            { "particle" : "monsterrelease" }
          ]
        },
        "teleportOut":{
          "particles" : [
            { "particle" : "monstercapture" }
          ]
        },
        "teleportIn":{
          "particles" : [
            { "particle" : "monsterrelease" }
          ]
        }
      },
    
      "effects" : {
        "blink" : {
          "type" : "flash",
          "time" : 0,
          "directives" : "fade=ffffff;0.5"
        }
      },
    
      "sounds" : {
        "turnHostile" : [ ],
        "deathPuff" : [ "/sfx/npc/enemydeathpuff.ogg" ]
      }
    }
    
     
  2. bk3k

    bk3k Oxygen Tank

    Look at your "parts" in the animation file. You have "body" but not "bodyfullbright" as a part. Yet you seem to have "bodyfullbright" as a state, and I don't see why that would be a state.

    I didn't yet check to see that your brackets match up, etc.
     
  3. ShirtyScarab554

    ShirtyScarab554 Subatomic Cosmonaut

    I didn't see a bodyfullbright part in the Chiropterror .animation file (wich I was using as a reference). If I was to add one where and how would I add it?
     
  4. bk3k

    bk3k Oxygen Tank

    Probably something closer to this
    Code:
    {
      "animatedParts" : {
        "stateTypes" : {
          "damage" : {
            "priority" : 3,
            "default" : "none",
            "states" : {
              "none" : {
                "frames" : 1
              },
              "stunned" : {
                "frames" : 1
              }
            }
          },
          "movement" : {
            "priority" : 0,
            "default" : "idle",
            "states" : {
              "idle" : {
                "frames" : 3,
                "cycle" : 0.7,
                "mode" : "loop"
              },
              "walk" : {
                "frames" : 4,
                "cycle" : 0.4,
                "mode" : "loop"
              }
            }
          },
          "releaseParticles" : {
            "default" : "off",
            "states" : {
              "off" : {
                "frames" : 1,
                "properties" : {
                  "particleEmittersOff" : [ "releaseParticles" ]
                }
              },
              "on" : {
                "frames" : 1,
                "cycle" : 0.1,
                "mode" : "transition",
                "transition" : "off",
                "properties" : {
                  "particleEmittersOn" : [ "releaseParticles" ]
                }
              }
            }
          }
        },
    
        "parts" : {
          "body" : {
            "properties" : {
              "rotationGroup" : "body"
            },
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle.<frame>"
                  }
                },
                "walk" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                }
              }
            }
          }
        },
        "parts" : {
          "bodyfullbright" : {
            "properties" : {
              "rotationGroup" : "body",
              "zLevel" : 2,
              "anchorPart" : "body",
              "fullbright" : true
            },
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle.<frame>"
                  }
                },
                "walk" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                }
              }
            }
          }
        }
      },
      "rotationGroups" : {
        "body" : {
          "rotationCenter" : [0, 0],
          "angularVelocity" : 5
        }
      },
    
      "particleEmitters" : {
         "deathPoof" : {
          "particles" : [
            { "particle" : "monstersplosion" },
            { "particle" : "deathfizz1left" },
            { "particle" : "deathfizz1right" },
            { "particle" : "deathfizz2left" },
            { "particle" : "deathfizz2right" },
            { "particle" : "deathfizz3left" },
            { "particle" : "deathfizz3right" },
            { "particle" : "deathfizz4left" },
            { "particle" : "deathfizz4right" }      
          ]
        },
    
    
        "captureParticles":{
          "particles" : [
            { "particle" : "monstercapture" }
          ]
        },
        "releaseParticles":{
          "particles" : [
            { "particle" : "monsterrelease" }
          ]
        },
        "teleportOut":{
          "particles" : [
            { "particle" : "monstercapture" }
          ]
        },
        "teleportIn":{
          "particles" : [
            { "particle" : "monsterrelease" }
          ]
        }
      },
    
      "effects" : {
        "blink" : {
          "type" : "flash",
          "time" : 0,
          "directives" : "fade=ffffff;0.5"
        }
      },
    
      "sounds" : {
        "turnHostile" : [ ],
        "deathPuff" : [ "/sfx/npc/enemydeathpuff.ogg" ]
      }
    }
    I haven't played with monsters though. Dunno if it should be anchored or not.

    But you see I just cloned the "body" part, renamed, and added those properties you where trying to add.
     
  5. ShirtyScarab554

    ShirtyScarab554 Subatomic Cosmonaut

    It didn't seem to work, did I mistype something?

    Code:
    {
      "animatedParts" : {
        "stateTypes" : {
          "damage" : {
            "priority" : 3,
            "default" : "none",
            "states" : {
              "none" : {
                "frames" : 1
              },
              "stunned" : {
                "frames" : 1
              }
            }
          },
          "movement" : {
            "priority" : 0,
            "default" : "idle",
            "states" : {
              "idle" : {
                "frames" : 3,
                "cycle" : 0.7,
                "mode" : "loop"
              },
              "walk" : {
                "frames" : 4,
                "cycle" : 0.4,
                "mode" : "loop"
              }
            }
          },
          "releaseParticles" : {
            "default" : "off",
            "states" : {
              "off" : {
                "frames" : 1,
                "properties" : {
                  "particleEmittersOff" : [ "releaseParticles" ]
                }
              },
              "on" : {
                "frames" : 1,
                "cycle" : 0.1,
                "mode" : "transition",
                "transition" : "off",
                "properties" : {
                  "particleEmittersOn" : [ "releaseParticles" ]
                }
              }
            }
          }
        },
    
        "parts" : {
          "body" : {
            "properties" : {
              "rotationGroup" : "body"
            },
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle.<frame>"
                  }
                },
                "walk" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                }
              }
            }
          }
        }
      },
       "parts" : {
          "bodyfullbright" : {
            "properties" : {
              "rotationGroup" : "body",
              "zLevel" : 2,
              "anchorPart" : "body",
              "fullbright" : true
            },
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle.<frame>"
                  }
                },
                "walk" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                }
              }
            }
          }
        }
      },
    
      "rotationGroups" : {
        "body" : {
          "rotationCenter" : [0, 0],
          "angularVelocity" : 5
        }
      },
    
      "particleEmitters" : {
         "deathPoof" : {
          "particles" : [
            { "particle" : "monstersplosion" },
            { "particle" : "deathfizz1left" },
            { "particle" : "deathfizz1right" },
            { "particle" : "deathfizz2left" },
            { "particle" : "deathfizz2right" },
            { "particle" : "deathfizz3left" },
            { "particle" : "deathfizz3right" },
            { "particle" : "deathfizz4left" },
            { "particle" : "deathfizz4right" }       
          ]
        },
    
    
        "captureParticles":{
          "particles" : [
            { "particle" : "monstercapture" }
          ]
        },
        "releaseParticles":{
          "particles" : [
            { "particle" : "monsterrelease" }
          ]
        },
        "teleportOut":{
          "particles" : [
            { "particle" : "monstercapture" }
          ]
        },
        "teleportIn":{
          "particles" : [
            { "particle" : "monsterrelease" }
          ]
        }
      },
    
      "effects" : {
        "blink" : {
          "type" : "flash",
          "time" : 0,
          "directives" : "fade=ffffff;0.5"
        }
      },
    
      "sounds" : {
        "turnHostile" : [ ],
        "deathPuff" : [ "/sfx/npc/enemydeathpuff.ogg" ]
      }
    }
    
    Or is it the body.monsterpart ?

    Code:
    {
      "name" : "etecooncritter",
      "category" : "etecooncritter",
      "type" : "body",
    
      "frames" : {
        "body" : "body.png",
        "bodyfullbright" : "etecoonfullbright.png"
      }
    }
    
     
  6. bk3k

    bk3k Oxygen Tank

    If it didn't work, probably the answer is in Starbound.log

    Maybe misspelled file names, missing/bad frames file, etc
     
  7. ShirtyScarab554

    ShirtyScarab554 Subatomic Cosmonaut

    Found the problem, there shouldn't be two "part" strings in the code.
    We had it like this.
    Code:
    "parts" : {
          "body" : {
            "properties" : {
              "rotationGroup" : "body"
            },
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle.<frame>"
                  }
                },
                "walk" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                }
              }
            }
          }
        },
        "parts" : {
          "bodyfullbright" : {
            "properties" : {
              "rotationGroup" : "body",
              "zLevel" : 2,
              "anchorPart" : "body",
              "fullbright" : true
            },
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle.<frame>"
                  }
                },
                "walk" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                }
              }
            }
          }
        }
      },
    When it should have been like this.
    Code:
     "parts" : {
          "body" : {
            "properties" : {
              "rotationGroup" : "body"
            },
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle.<frame>"
                  }
                },
                "walk" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                }
              }
            }
          },
          "bodyfullbright" : {
            "properties" : {
              "rotationGroup" : "body",
              "zLevel" : 2,
              "anchorPart" : "body",
              "fullbright" : true
            },
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle.<frame>"
                  }
                },
                "walk" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                }
              }
            }
          }
        }
      },
     
  8. bk3k

    bk3k Oxygen Tank

    I'm surprised I made that mistake. But I did. That's what I get for trying to rush something before heading out the door.
     
  9. ShirtyScarab554

    ShirtyScarab554 Subatomic Cosmonaut

    Thats fine, at least you taught me I can use the Starbound log to pinpoint the problem.:nuruwink:
     

Share This Page