Modding Help Custom replicator addon

Discussion in 'Starbound Modding' started by Lurmarud, Sep 9, 2016.

  1. Lurmarud

    Lurmarud Poptop Tamer

    So I was trying to make a custom addon for replicator and something went wrong. When I launch Starbound everyting is okay, when I load my character save all replicators and anvils dissapear from my ship and when I am trying to access Architect's table game gives me this error:
    upload_2016-9-9_23-0-15.png
    I have doublechecked spelling and comas, although I still don't exclude a possibility that there are some missing, but I have a feeling that there is something that I have overlooked or didn't know about. I have done .patch files for all anvil3 related files, made all the needed files for addon, created the recipe, updated player.config, redrawn images of anvils with addons, yet, obviouslym I have missed something. Here are code for:

    [
    { "op": "add", "path": "/animatedParts/stateTypes/stage/states/craftinganvil3/properties/lightsOff/-", "value":
    {
    "lorcorruptorglow"
    }
    },
    { "op": "add", "path": "/animatedParts/stateTypes/stage/states/accelerator/properties/lightsOff/-", "value":
    {
    "lorcorruptorglow"
    }
    },
    { "op": "add", "path": "/animatedParts/stateTypes/stage/states/separator/properties/lightsOff/-", "value":
    {
    "lorcorruptorglow"
    }
    },
    { "op": "add", "path": "/animatedParts/stateTypes/stage/states/manipulator/properties/lightsOff/-", "value":
    {
    "lorcorruptorglow"
    }
    },
    { "op": "add", "path": "/animatedParts/stateTypes/stage/states/-", "value":
    {
    "lorcorruptor" :
    {
    "properties" :
    {
    "lightsOff" : [ "replicatorglow", "acceleratorglow", "separatorglow", "manipulatorglow" ],
    "lightsOn" : [ "lorcorruptorglow" ]
    }
    }
    }
    },
    { "op": "add", "path": "/parts/lights/partStates/stage/-", "value":
    {
    "lorcorruptor" :
    {
    "properties" :
    {
    "image" : "craftinganvil3.png:<color>.lorcorruptor"
    }
    }

    }
    },
    { "op": "add", "path": "/parts/chassis/partStates/stage/-", "value":
    {
    "lorcorruptor" :
    {
    "properties" :
    {
    "image" : "craftinganvil3lit.png:<color>.lorcorruptor"
    }
    }
    }
    },
    { "op": "add", "path": "/parts/chassis/partStates/stage/-", "value":
    {
    "lorcorruptorlow" :
    {
    "active" : false,
    "color" : [199, 136, 15],
    "position" : [0, 2],

    "flickerPeriod" : 0.9,
    "flickerMinIntensity" : 0.75,
    "flickerMaxIntensity" : 0.8,
    "flickerPeriodVariance" : 0,
    "flickerIntensityVariance" : 0
    }
    }
    }
    ]


    [
    { "op": "add", "path": "/upgradeStages/2/interactData/initialRecipeUnlocks/-", "value":
    {
    "lorcorruptoraddon"
    }
    },
    { "op": "add", "path": "/upgradeStages/2/learnBlueprintsOnPickup/-", "value":
    {
    "lorcorruptoraddon"
    }
    },
    { "op": "add", "path": "/upgradeStages/2/addonConfig/usesAddons/-", "value":
    {
    {
    "name" : "lorcorruptorAddon",
    "position" : [0, 3],
    "addonData" :
    {
    "animationState" : "lorcorruptor",
    "interactData" :
    {
    "paneLayoutOverride" :
    {
    "windowtitle" :
    {
    "title" : "Corruptor's Table",
    "icon" :
    {
    "file" : "/interface/crafting/lorcorruptortable.png"
    }
    }
    },
    "filter" : [ "craftinganvil", "craftinganvil2", "craftinganvil3", "craftinglorcorruptor" ]
    }
    }
    }
    }
    }
    ]


    [
    { "op": "replace", "path": "/frameGrid/dimensions/0", "value":
    5
    },
    { "op": "add", "path": "/frameGrid/names/0/-", "value":
    {
    "default.lorcorruptor"
    }
    }
    ]


    [
    { "op": "replace", "path": "/frameGrid/dimensions/0", "value":
    5
    },
    { "op": "add", "path": "/frameGrid/names/0/-", "value":
    {
    "default.lorcorruptor"
    }
    }
    ]


    {
    "objectName" : "lorcorruptorAddon",
    "colonyTags" : ["crafting"],
    "rarity" : "Legendary",
    "category" : "crafting",
    "price" : 1250,
    "description" : "An erie device that adds disturbing and sinister equipment and armour to the replicator.",
    "shortdescription" : "^orange;Corruptor Addon^white;",
    "race" : "generic",

    "apexDescription" : "This sinister device will allow me to uncover some terrifying secrets of the Ruin.",
    "avianDescription" : "Gods forgive me for inserting this into my replicator.",
    "floranDescription" : "Disssgusting, disturbing and dangerousss... Floran loves dangerousss.",
    "glitchDescription" : "Concerned. This module may prove useful, yet I would rather not use it.",
    "humanDescription" : "I am excited to see what awfull stuff this module will uncover",
    "hylotlDescription" : "It would be wrong to use this awful device, but I don't have much choice.",
    "novakidDescription" : "Just looking at this ol' thingy gives me the creeps.",

    "printable" : false,

    "placementImage" : "lorcorruptoraddonpreview.png",
    "placementImagePosition" : [-24, -24],

    "inventoryIcon" : "lorcorruptoraddonicon.png",
    "orientations" : [
    {
    "direction" : "left",
    "image" : "lorcorruptoraddon.png:<color>",

    "imagePosition" : [-8, 0],

    "spaces" : [ [-1, 0], [0, 0], [-1, 1], [0, 1], [-1, 2], [0, 2] ],

    "fgAnchors" : [ [-1, -1], [0, -1] ],
    "anchorMaterial" : "metamaterial:anviladdonbase"
    }
    ],

    "forceFinishAnimationsInInit" : false,
    "animation" : "/objects/crafting/upgradeablecraftingobjects/craftinganvil/addons/anviladdon.animation",
    "animationPosition" : [-8, 0],
    "animationParts" : {
    "addon" : "lorcorruptoraddon.png",
    "addonfullbright" : "lorcorruptoraddonfullbright.png"
    },

    "scripts" : [ "/scripts/objectaddons.lua", "/objects/crafting/upgradeablecraftingobjects/craftinganvil/addons/anviladdon.lua" ],

    "addonConfig" : {
    "isAddons" : [
    {
    "name" : "lorcorruptorAddon"
    }
    ]
    }
    }


    {
    "input" : [
    { "item" : "junk", "count" : 1 }
    ],
    "output" : {
    "item" : "lorcorruptorAddon",
    "count" : 1
    },
    "duration" : 5,
    "groups" : [ "inventorstable3", "craftingstations", "all" ]
    }



    [
    {"op":"add","path":"/defaultBlueprints/tier1/-","value": { "item" : "lorcorruptorAddon" }}
    ]


    I don't have much experience in modding, so I wouldn't be surprised if my mistake is stupid, yet still I can't find it! I was reading this thread
    http://community.playstarbound.com/threads/replicator-add-ons.121641/#post-2992716
    but it's author never had my problem in the first place, which adds even more to my confusion. Can someone tell me what am I doing wrong?
     
  2. The | Suit

    The | Suit Agent S. Forum Moderator

  3. Lurmarud

    Lurmarud Poptop Tamer

    Woah, this is embarassing... I have read that there was an error with JSON scripts in the log, then went to the json-schema-validator, as was advised in your topic, and found out that I have made a looooooooot of unnecessary { } brackets. I guess I should have read a little bit more guides.
    Thanks, man, now the problem is gone and addon even showed up in crafting menu.
     
  4. Lurmarud

    Lurmarud Poptop Tamer

    Alright, nice, I have finally edited all of my mistakes and made it happen! Addon works just fine.
    upload_2016-9-10_12-59-4.png
    Now there is another question... To make this addon work I have added 5th frame to craftinganvil3.png so that there will be additional picture for the replicator with inserted new addon. I guess it is not really nice to do so because when other people will try to make their own addons they will do the same - redraw craftinganvil3.png. I understand that it means that when you install two such addon mods there will be two images, each with 5 replicators, and Starbound will basically choose one of them to load and ignore the other one. Therefore it would be reasonal to find a way of making image of the replicator separate from craftinganvil3.png and somehow using it, right?

    UPDATE: Tried this out, everything works just fine with separate images
     
    Last edited: Sep 10, 2016
    The | Suit likes this.

Share This Page