Modding Help Need help adding custom item recipe to table

Discussion in 'Starbound Modding' started by Silverforte, Feb 27, 2015.

  1. Silverforte

    Silverforte Spaceman Spiff

    I've made a custom crafting table called 'spellaltar' and it works fine as far as placing it down. I have a custom item called 'etherlaser' which also works. I'm trying to make it so you can craft etherlaser at spellaltar. This is spellaltar's code:

    Code:
    {
      "objectName" : "spellaltar",
      "rarity" : "Legendary",
      "interactAction" : "OpenCraftingInterface",
      "interactData" : {
        "config" : "/interface/windowconfig/spellaltar.config",
        "filter" : [ "spellaltartable" ]
      },
      "printable" : false,
      "description" : "A fabled altar legend says was once used to embue books with spells.",
      "shortdescription" : "^orange;Spell Altar^white;",
      "race" : "generic",
      "category" : "crafting",
      "price" : 200,
      "lightColor" : [107, 107, 179],
      "flickerPeriod" : 0.3,
      "flickerMinIntensity" : 3.95,
      "flickerMaxIntensity" : 4.25,
      "flickerPeriodVariance" : 0.075,
      "flickerIntensityVariance" : 1.025,
    
      "apexDescription" : "Spells? No such thing.",
      "avianDescription" : "The stories were true! Magic can be wielded!",
      "floranDescription" : "This is heresy...",
      "glitchDescription" : "Observation. This is an altar.",
      "humanDescription" : "Huh... How is this gem floating? Why do I feel happy to see it?",
      "hylotlDescription" : "That gem sure is blue.",
    
      "inventoryIcon" : "spellaltaricon.png",
      "orientations" : [
        {
          "imageLayers" : [ { "image" : "spellaltar.png:<color>.<frame>", "fullbright" : false }, { "image" : "spellaltarglow.png:<color>.<frame>" } ],
    
          "imagePosition" : [-1, 0],
          "frames" : 5,
          "animationCycle" : 2.5,
      
          "direction" : "left",
          "flipImages" : true,
      
          "lightPosition" : [ -1, 1],
    
          "spaceScan" : 0.1,
          "anchors" : [ "bottom" ]
    
        },
        {
          "imageLayers" : [ { "image" : "spellaltar.png:<color>.<frame>", "fullbright" : false }, { "image" : "spellaltarglow.png:<color>.<frame>" } ],
    
          "imagePosition" : [-1, 0],
          "frames" : 5,
          "animationCycle" : 2.5,
      
          "direction" : "right",
      
          "lightPosition" : [ 0, 1],
    
          "spaceScan" : 0.1,
          "anchors" : [ "bottom" ]
    
        }
      ]
    }

    I have a custom recipe in recipes/spellaltartable called etherlaser.recipe. In the recipe file, I have:

    Code:
    {
      "input" : [
        { "item" : "dirtmaterial", "count" : 1 }
      ],
      "output" : {
        "item" : "etherlaser",
        "count" : 1
      },
      "groups" : [ "spellaltartable" ]
    }
    I realized I needed to have the player learn the recipe first, so I tried that. I made an item in items/generic/other called etherlaserbook and its code is:

    Code:
    {
      "itemName" : "etherlaserbook",
      "rarity" : "Common",
      "inventoryIcon" : "etherlaserbook.png",
      "description" : "This book contains the spell 'Ether Laser'",
      "shortdescription" : "Ether Laser Book"
      "learnBlueprintsOnPickup" : [ "etherlaser" ]
    }
    
    I'm trying to learn this stuff but I'm obviously not getting anywhere. It's been a couple hours and now my game is crashing as long as I keep that learnblueprintsonpickup line in the item code. Can someone explain to me what I'm doing wrong? Thanks.
     
    Last edited: Feb 27, 2015
  2. The | Suit

    The | Suit Agent S. Forum Moderator

    Please use the [code] [/code] tag
    Around each segment of code.
     
  3. Naddox

    Naddox Cosmic Narwhal

    The code for your block is 99% correct but I bet the game started crashing on you when you added it. You missed a comma after the short description line.
    Code:
    {
      "itemName" : "etherlaserbook",
      "rarity" : "Common",
      "inventoryIcon" : "etherlaserbook.png",
      "description" : "This book contains the spell 'Ether Laser'",
      "shortdescription" : "Ether Laser Book", <----------------------Right here
      "learnBlueprintsOnPickup" : [ "etherlaser" ]
    }
    You can also make it so the recipes are known right off the bat by patching your player.config file.
    Code:
    [
    {"op":"add","path":"/defaultBlueprints/tier1/-","value":{"item":"recipeToKnow1"}},
    {"op":"add","path":"/defaultBlueprints/tier1/-","value":{"item":"recipeToKnow2"}}
    ]
    If you do it that way, you'll name the file player.config.patch
     
    Silverforte likes this.
  4. Silverforte

    Silverforte Spaceman Spiff

    Oh my god... such a simple mistake. I looked at that one file for 20 minutes trying to figure out what I did wrong. No more 3 AM modding sessions... Thanks so much for pointing that out.
     
  5. Naddox

    Naddox Cosmic Narwhal

    Don't worry, we ALL have done it before lol.
     

Share This Page