Jbeam "Variation" parts

Discussion in 'Ideas and Suggestions' started by Dummiesman, Mar 27, 2020.

  1. Dummiesman

    Dummiesman
    Expand Collapse

    Joined:
    Sep 17, 2013
    Messages:
    4,683
    This is an idea that would solve an annoying problem on both official and modded content. Where right now, we have to copy and paste parts over and over again if we want to change small things. What if we didn't have to?

    What I'm proposing is a "variation" system. Where instead of copy pasting an entire part just to change ex. a sound config, you could inherit the part, then overwrite the sound config.

    Ex. then you would only need a single engine jbeam, add in the new flexbodies and engine curve, and be done with it.

    Or say you want multiple types of hoods? Make one, make "variant" parts that inherit it's jbeam and change the flexbodies.
     
    • Like Like x 7
    • Agree Agree x 2
  2. TrackpadUser

    TrackpadUser
    Expand Collapse

    Joined:
    Aug 24, 2019
    Messages:
    468
    I agree this would be interesting, at least the ability to easily have a "master" node-beam-triangle structure, that can be re-used for other components.

    It would especially help when it comes to maintaining part variants, since you wouldn't have to copy the same changes across 2-4 parts or more.
     
  3. Taza

    Taza
    Expand Collapse

    Joined:
    Nov 8, 2015
    Messages:
    1,335
    The nodes and beams sections are essentially dicts with lists as a value. On a new part, we could write something like
    "nodes":jbeam_file.part.nodes
    to get nodes from another part, or something. I have made a new part with copied jbeam so many times, and I have to keep updating those jbeams between updates. This would make jbeaming a lot easier and quicker and enjoyable and future-proof and simpler.
     
  4. Dummiesman

    Dummiesman
    Expand Collapse

    Joined:
    Sep 17, 2013
    Messages:
    4,683
    My idea is something like this
    Code:
    {
    "fs65_body_indicators_led": {
        "information":{
            "authors":"Dummiesman",
            "name":"Body Mounted Indicators (LED)",
            "value":12000,
        },
        "slotType" : "fs65_body_indicators",
        "inheritPart": {"partname": "fs65_body_indicators", "blacklist": ["flexbodies"]},
       
        //add flexbodies
    
    blacklist would remove those parts from the inheritance, whitelist would only include certain parts, both would be optional
    The default behavior when none are specified would be that all sections would get inherited, and if you duplicate a section (ex. nodes) it'd overwrite (or maybe merge?) the original.
     
    #4 Dummiesman, Mar 30, 2020
    Last edited: Mar 30, 2020
    • Like Like x 2
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice