A thing I made (adds 7+1 elements)

  • PersonPlayingTPT
    16th Jul 2021 Member 0 Permalink

    NOTICE: the title is out of date now, as I have made 2 new elements.

     

    So i made a thing, and idk how to make a download link so heres some intructions.

     

    Firstly, copy your autorun.lua file. (Find it in your Powder Toy folder)

     

    Then, delete EVERYTHING inside the NON-COPIED autorun.lua.

     

    then, copy this into it;

     

    local element_id = elements.allocate("Things", "SFPW")
    elements.property(element_id, "Name", "SFPW")
    elements.property(element_id, "Colour", 0x007543)
    elements.property(element_id, "Description", "Slow-Fall Powder. Falls slowly (obviously.)")
    elements.property(element_id, "MenuVisible", 1)
    elements.property(element_id, "MenuSection", elem.SC_POWDERS)
    elements.property(element_id, "Properties", bit.bor(elem.TYPE_PART, elem.PROP_BLACK))
    elements.property(element_id, "Advection", 1)
    elements.property(element_id, "Gravity", 0.03)
    elements.property(element_id, "Falldown", 1)

     

    local element_id = elements.allocate("Things", "ASTN")
    elements.property(element_id, "Name", "ASTN")
    elements.property(element_id, "Colour", 0xE55814)
    elements.property(element_id, "MenuVisible", 1)
    elements.property(element_id, "MenuSection", elem.SC_NUCLEAR)
    elements.property(element_id, "Enabled", 1)
    elements.property(element_id, "AirLoss", 0.75)
    elements.property(element_id, "Loss", 0.95)
    elements.property(element_id, "Gravity", 0.4)
    elements.property(element_id, "Falldown", 1)
    elements.property(element_id, "Hardness", 0)
    elements.property(element_id, "Advection", 0.4)
    elements.property(element_id, "PhotonReflectWavelengths", 0xE52E14)
    elements.property(element_id, "Weight", 95)
    elements.property(element_id, "Temperature", 22 + 8 + 273.15)
    elements.property(element_id, "HeatConduct", 200)
    elements.property(element_id, "Description", "Astatine. Doesn't really do much other than color PHOT.")
    elements.property(element_id, "Properties", bit.bor(elem.TYPE_PART, elem.PROP_NEUTPASS, elem.PROP_RADIOACTIVE))

     

    local element_id = elements.allocate("Things", "UNOB")
    elements.property(element_id, "Name", "UNOB")
    elements.property(element_id, "Colour", 0x7B3D5E)
    elements.property(element_id, "MenuVisible", 1)
    elements.property(element_id, "MenuSection", elem.SC_NUCLEAR)
    elements.property(element_id, "Enabled", 1)
    elements.property(element_id, "AirLoss", 0)
    elements.property(element_id, "Loss", 1)
    elements.property(element_id, "Gravity", -0.05)
    elements.property(element_id, "Falldown", 1)
    elements.property(element_id, "Hardness", 0)
    elements.property(element_id, "Advection", -45)
    elements.property(element_id, "Weight", 250)
    elements.property(element_id, "Temperature", 3750)
    elements.property(element_id, "HeatConduct", 5)
    elements.property(element_id, "Description", "Unobtanium, a strange element under investigation.")
    elements.property(element_id, "Properties", bit.bor(elem.TYPE_PART, elem.PROP_NEUTABSORB, elem.PROP_RADIOACTIVE))

     

    local element_id = elements.allocate("Things", "ESTL")
    elements.property(element_id, "Name", "ESTL")
    elements.property(element_id, "Colour", 0x7D9DAF)
    elements.property(element_id, "MenuVisible", 1)
    elements.property(element_id, "MenuSection", elem.SC_SOLIDS)
    elements.property(element_id, "Enabled", 1)
    elements.property(element_id, "Advection", 0.4)
    elements.property(element_id, "AirLoss", 0)
    elements.property(element_id, "Loss", 0.95)
    elements.property(element_id, "Gravity", 0)
    elements.property(element_id, "Falldown", 1)
    elements.property(element_id, "Hardness", 0)
    elements.property(element_id, "Weight", 95)
    elements.property(element_id, "Temperature", 22 + 273.15)
    elements.property(element_id, "HeatConduct", 0)
    elements.property(element_id, "Description", "Estelon. Blocks all heat and insulates pressure pretty well, yet conductive.")
    elements.property(element_id, "Properties", bit.bor(elem.TYPE_SOLID, elem.PROP_NEUTABSORB, elem.PROP_LIFE_DEC, elem.PROP_CONDUCTS))

     

    local element_id = elements.allocate("Things", "STNW")
    elements.property(element_id, "Name", "STNW")
    elements.property(element_id, "Colour", 0x626ABA)
    elements.property(element_id, "MenuVisible", 1)
    elements.property(element_id, "MenuSection", elem.SC_LIQUID)
    elements.property(element_id, "Enabled", 1)
    elements.property(element_id, "Advection", 0.5)
    elements.property(element_id, "AirLoss", 0.96)
    elements.property(element_id, "Loss", 0.95)
    elements.property(element_id, "Gravity", 0.2)
    elements.property(element_id, "Falldown", 2)
    elements.property(element_id, "Hardness", 10.5)
    elements.property(element_id, "Weight", 60)
    elements.property(element_id, "Temperature", 22 + 273.15)
    elements.property(element_id, "HeatConduct", 89.5)
    elements.property(element_id, "Description", "Stoney water, absorbs neutrons and doesn't boil/freeze.")
    elements.property(element_id, "Properties", bit.bor(elem.TYPE_LIQUID, elem.PROP_CONDUCTS, elem.PROP_LIFE_DEC, elem.PROP_NEUTABSORB))

     

    local element_id = elements.allocate("Things", "GOOP")
    elements.property(element_id, "Name", "GOOP")
    elements.property(element_id, "Colour", 0x683C34)
    elements.property(element_id, "MenuVisible", 0)
    elements.property(element_id, "MenuSection", elem.SC_LIQUID)
    elements.property(element_id, "Enabled", 1)
    elements.property(element_id, "Advection", 0.5)
    elements.property(element_id, "AirLoss", 0.96)
    elements.property(element_id, "Loss", 0.95)
    elements.property(element_id, "Gravity", 0.2)
    elements.property(element_id, "Falldown", 2)
    elements.property(element_id, "Hardness", 10.5)
    elements.property(element_id, "Weight", 60)
    elements.property(element_id, "Temperature", 22 + 273.15)
    elements.property(element_id, "HeatConduct", 89.5)
    elements.property(element_id, "Description", "Goop, supposed to be sort of like liquid GOO. Unfinished, basically just STNW.")
    elements.property(element_id, "Properties", bit.bor(elem.TYPE_LIQUID, elem.PROP_CONDUCTS, elem.PROP_LIFE_DEC, elem.PROP_NEUTABSORB))

     

    local element_id = elements.allocate("Things", "SNTR")
    elements.property(element_id, "Name", "SNTR")
    elements.property(element_id, "Colour", 0x4A8C3F)
    elements.property(element_id, "MenuVisible", 1)
    elements.property(element_id, "MenuSection", elem.SC_EXPLOSIVE)
    elements.property(element_id, "Enabled", 1)
    elements.property(element_id, "Advection", 0)
    elements.property(element_id, "AirLoss", 0.95)
    elements.property(element_id, "Loss", 0)
    elements.property(element_id, "Gravity", 0)
    elements.property(element_id, "Falldown", 0)
    elements.property(element_id, "Hardness", 3.5)
    elements.property(element_id, "PhotonReflectWavelengths", 0x07C000)
    elements.property(element_id, "Weight", 100)
    elements.property(element_id, "Temperature", 22 + 273.15)
    elements.property(element_id, "HeatConduct", 55)
    elements.property(element_id, "Description", "Solid nitroglycerin. Not pressure sensitive, won't mix with CLST.")
    elements.property(element_id, "Properties", bit.bor(elem.TYPE_SOLID))
    elements.property(element_id, "Flammable", 1000)
    elements.property(element_id, "Explosive", 1)
    elements.property(element_id, "HighTemperature", 673.0)
    elements.property(element_id, "HighTemperatureTransition", PT_FIRE)

     

    local element_id = elements.allocate("Things", "RSTN")
    elements.element(element_id, elements.element(elements.DEFAULT_PT_URAN))
    elements.property(element_id, "Name", "RSTN")
    elements.property(element_id, "Description", "Redstone. Partly made of uranium, light and conductive powder.")
    elements.property(element_id, "Colour", 0xA90404)
    elements.property(element_id, "MenuSection", elem.SC_NUCLEAR)
    elements.property(element_id, "Weight", 45)
    elements.property(element_id, "Properties", bit.bor(elem.TYPE_PART, elem.PROP_RADIOACTIVE, elem.PROP_LIFE_DEC, elem.PROP_CONDUCTS))
    elements.property(element_id, "Temperature", 22 + 273.15)

     

    local element_id = elements.allocate("Things", "LUOB")
    elements.property(element_id, "Name", "LUOB")
    elements.property(element_id, "Colour", 0x4D3D7B)
    elements.property(element_id, "MenuVisible", 1)
    elements.property(element_id, "MenuSection", elem.SC_NUCLEAR)
    elements.property(element_id, "Enabled", 1)
    elements.property(element_id, "AirLoss", 0)
    elements.property(element_id, "Loss", 1)
    elements.property(element_id, "Gravity", -0.05)
    elements.property(element_id, "Falldown", 2)
    elements.property(element_id, "Hardness", 0)
    elements.property(element_id, "Advection", -45)
    elements.property(element_id, "Weight", 250)
    elements.property(element_id, "Temperature", 7800)
    elements.property(element_id, "HeatConduct", 5)
    elements.property(element_id, "Description", "Liquid Unobtanium, same as UNOB but it's a liquid.")
    elements.property(element_id, "Properties", bit.bor(elem.TYPE_LIQUID, elem.PROP_NEUTABSORB, elem.PROP_RADIOACTIVE))

     

    local element_id = elements.allocate("Things", "GUOB")
    elements.property(element_id, "Name", "GUOB")
    elements.property(element_id, "Colour", 0xAD68E1)
    elements.property(element_id, "MenuVisible", 1)
    elements.property(element_id, "MenuSection", elem.SC_NUCLEAR)
    elements.property(element_id, "Enabled", 1)
    elements.property(element_id, "AirLoss", 0)
    elements.property(element_id, "Loss", 1)
    elements.property(element_id, "Gravity", -0.05)
    elements.property(element_id, "Falldown", 0)
    elements.property(element_id, "Hardness", 0)
    elements.property(element_id, "Advection", -45)
    elements.property(element_id, "Weight", 250)
    elements.property(element_id, "Temperature", 7800)
    elements.property(element_id, "HeatConduct", 5)
    elements.property(element_id, "Description", "Gaseous Unobtanium, same as UNOB but it's a gas.")
    elements.property(element_id, "Properties", bit.bor(elem.TYPE_GAS, elem.PROP_NEUTABSORB, elem.PROP_RADIOACTIVE))

     

    after that, your free to open TPT!

     

    Any suggestings or problems go in the comments below.

     

    MY (current) IDEAS:

    Make GOOP have high viscosity (like GEL)
    Add C-0, very dangerious explosive
    Add PWC4, Powdered C4

    Edited 4 times by PersonPlayingTPT. Last: 26th Jul 2021
  • SamDwich
    22nd Jul 2021 Member 0 Permalink

    ASTN falls in a giant cube instead of spreading outward like most powders/

  • PersonPlayingTPT
    23rd Jul 2021 Member 0 Permalink

    @SamDwich (View Post)

    Oh ok, idk how to fix that so I guess you'll just have to live with it ¯\_('-')_/¯

    Edited 3 times by PersonPlayingTPT. Last: 23rd Jul 2021
  • DanielsRevenge
    23rd Jul 2021 Member 0 Permalink

    Here's what I think of it.

     

    It's cool, but it definitely seems like your first Lua pack.

    Second, there's a better way to install it. Inside the Scripts folder, create a blank Lua file and then paste it in, then enable it via the script manager. This means that you can keep the script manager.

     

    Third, it's cool but a lot of them don't serve much of a purpose.

    For example, I get the minecraft reference, but why is redstone in here? It acts effectively the same as BRMT. GOOP is just a recolor of STNW, and so on.

     

    If this is your first Lua script then I am impressed! However, if you want people to actively download it, you should add some more useful, unique elements, maybe ones that are requested a lot.

     

    But also here's another tip. Don't modify pre-existing cycles with pre-existing elements. For example, don't make LN2 decay into Nitrogen when it heats up, as this ruins most saves. If you want to do that, make it so you have to hit it with something like a gas ray or something from the script that turns it into NITR. It's annoying, but atleast it won't break any saves.

     

    The same goes for adding solid and gas phases to SOAP, GEL, etc.

     

    This truly has potential, if you add elements people actively want/need then it could be a pretty neat little lua pack.

  • PersonPlayingTPT
    26th Jul 2021 Member 0 Permalink

    @DanielsRevenge (View Post)

     you are ABOSLUTELEY correct when you said that this is my first lua pack. I pretty much don't know how to code without using those coding block things (like Scratch or Microsoft Arcade Game Maker) so I felt like learning how to code an element was nicely easy; and i was also inspired by SpikeViper to make my own elements

     

    Im also adding a plans section if anyone wants to send element ideas

     

    Also, i use the Cracker1000 mod for the script manager. :P

    Edited once by PersonPlayingTPT. Last: 26th Jul 2021