Modding Tools, Tutorials & Examples

83 files

  1. Extended Sample Character

    A character mod template for Don't Starve and Don't Starve Together.
    There are multiple versions.
    V1.0.4 - Don't Starve and Don't Starve Reign of Giants
    V1.2.5 - Don't Starve Together
    V1.3.1 - Don't Starve Shipwrecked
    The full tutorial can be found here.
    Basic coding for a character mod All sprites and symbols to build a character Extended drawing areas for custom art Reign of Giants, Shipwrecked, and Don't Starve Together versions This requires Don't Starve Mod Tools to autocompile .png files that are modified.
    The .scml is built in a way that you can use Spriter (included with Don't Starve Mod Tools) to preview the changes you make. The .scml file is not intended to be changed itself, and changes may not correctly reflect how it appears in-game.
    A folder of cleared sprites has been included to easily remove unwanted parts from your character.
    Also on Github




  2. Sample Mods

    These are official sample mods developed by Klei. They are very small and barebones, in order to get you started with modding. These are meant to serve as a starting point only and are not complete mods on their own!
    Sample Prefab
    This mod demonstrates adding a new object to the world which can also be put in the player's inventory. For testing purposes, one is added to the player's pockets every time the game starts.
    Sample Character
    Use this as a starting place for your own characters! Contains template artwork for character animations, saveslot portraits, and more! Note: This will require TEX tools in order to create .tex files from the provided .png images.
    Also note that the template for the bigportrait is in it's own zip file for download size reasons, but both and together make the Sample Character mod and templates.
    Sample Mod
    A demonstration of very basic mod setup, including attaching a custom components and setting tuning variables.




  3. Handsome Matt's Tools!

    These are some super simple tools I made for Don't Starve years ago, recently updated and re-uploaded myself seeing how popular they were. I still believe you should use the official tools for texture creation, but for simply viewing and exploring assets this tool should work great for you.
    Source code and latest releases are always available on GitHub.




  4. Map Revealer 1.0.3 and [DST] Map Revealer 1.0

    It's a very simple mod revealing the entire map in the game, regardless of the level at which we find ourselves. Despite the simplicity makes it easy modding or just makes the game lot easier.
    Have a nice use.
    Steam version:




  5. Don't Starve Lunar Calendar In Javascript

    Save this html file to your desktop and open it in a browser. It will automatically generate a calendar of Don't Starves moon cycles going out to day 200. Input whatever day you want moon cycles calculated out to.
    I don't actually care if you put the file on your desktop or not, just put it somewhere that you can find it and open it.
    Pigs will turn into werepigs on a full moon. Werepigs are very bad piggies and will likely attack you and kill you for no reason. This is also when woody becomes the doom incarnate of all vegetation.
    The latest day I tested successfully was day 50,000. It was a very long calendar and the scroll-bar thingy was very small. If you intend to not starve for longer then 50k days then you may need a longer calender.
    Internet Explorer may block content from the lunar calendar. It's blocking Javascript which is the programming language used to generate the calendar. I promise it won't hack your computer and install pop-up advertisements for "Over 100 horney chicks in your area can't wait to chat with you right now!"
    This script won't hack anything at all actually. It's not a hack, it just makes a calendar. Just go ahead and hit "run script" or open it in Firefox instead.
    While transformed into a werebeaver, you should refrain from eating the berry bushes you planted earlier that day. Bad Werebeaver! bad. bad. bad. You go back to the firepit and starve back into Woody right now!
    Leave comments if there's some functionality you would like added to this calendar. Making it was kinda fun.
    Don't Starve.




  6. ktools: Cross-platform modding tools for Don't Starve

    IMPORTANT: Starting with version 4.3.0, the Windows binary release requires Microsoft's Visual C++ 2013 Redistributable Package (previously, the 2010 one was required). See the bottom of this description for more information.
    ktools is a set of cross-platform (Linux, Mac and Windows) modding tools for Don't Starve. It consists of the following command-line tools:
    ktech: a bidirectional converter between TEX texture and PNG; krane: a anim.bin/build.bin decompiler, whose output is a Spriter project. More detailed information about these tools may be found in the README, in the project's GitHub repository.
    ktools primary release format is as source code, compilable under every platform using CMake, as per the instructions in the README. A Windows binary release is also included (the ZIP ending with "-win32").
    When compiling from source, if libzip is found then the ktools are compiled with zip support, so that zip archives may be given as input in the same way directories may. The binary Windows release does not have zip support.
    If you have issues running the Windows binary release, make sure you have Microsoft's Visual C++ 2013 Redistributable Package (the 32 bit version, that is, download the file called vcredist_x86.exe). It's very likely already installed, but in case of any errors first make sure that is in fact the case.




  7. TEXTool v1.2

    TEXTool v1.2 by Handsomematt
    Converts Klei .tex files to .png
    Re-uploading this because it seems to be unavailable. Hope it's ok and the original author did not want it taken off.




  8. API Examples

    This mod is made by Ipsquiggle at Klei to show off various features of the mod API.
    This mod is not meant to be played. It is for scripting demonstration only.
    I'll keep this up-to-date as I add functions to the API so you have an example of how they are used.

    Updated for the Stuff of Nightmares release! Tonnes of new functions and examples to check out!




  9. N Tools

    N Tools adds six clickable button to the HUD for testing utility.
    Time Jump
    Moves the time of day/night one step.

    Time Jump +
    Move you forward five days time.

    Start/Stop Precip
    Starts or stops rain and snow.

    Go Invincible/Vulnerable
    Toggles invincibility.

    Go Insane/Sane
    Sets sanity to zero or full.

    This button allows you to dig through the game variables and sort them by variable type as well as looking at each tables children. All of this in a visual UI.

    This button allows you to grant items to your character for easier testing.




  10. Smarter Crock Pot

    Steam Workshop Link:
    Compatible with DS, ROG and SW.
    Original link:
    Fixed by zUsername.
    Created by Nadav.




  11. 17 comments


  12. Spriter Example: Equippable Item

    This is an example of an equippable item made in Spriter. This example requires the pc version of the Steam Workshop 'Don't Starve Mod Tools' to be installed.
    Big thanks to the Waverly Mod Team for letting me use their art!




  13. Development tool

    This mod adds a Development Tool - It have been crated by Klei, to help with testing Don't Starve and RoG DLC. File "devtool.lua" can be found in vanilla game, in prefabs folder. This mod adds a remade version of it, that makes it possible to use in-game, along with couple of features.
    - can be used as weapon (range: 20, about half of a screen; damage: 10000)
    - can be used as axe, pick, shovel, hammer and net; every action is instant
    - creates large light spot around a holder, or around lying spot
    - provides health, hunger and sanity insta-regeneration
    - provides heat in Winter and (if RoG is enabled) act as cooler in Summer
    - act as Walking Cane, adding speed multiplier (about 2 times faster than normal)
    - has built-in prototyper, so you can prototype stuff anywhere and anytime
    - if you want to build anything, provides necessary resources
    - act as blinkstaff (you can teleport to a chosen spot)
    - almost every feature is configurable in mod configuration screen
    I'm uploading it here as a mod, because it really helps testing mods. It doesn't have a crafting recipe (obviously), so, Here as a console command that you have to type in console to get it:


    This mod is meant to be OP, because I made it to help testing mods...

    Consider that before posting a comment...
    Have fun with testing mods




  14. Supervivencia Natural

    -Supervivencia Natural-

    Contenido de MOD´S

    Always On Status
    Architectural Geometry
    Auto planting
    Damage Indicators
    Follower Badges
    More Map Icons
    Sort Inventory
    Wormhole Marks

    -Supervivencia Natural-

    El Paquete trata solo con unos cuantos mods que no alteran la

    dificultad con del juego, si no solo cosas visuales que ayudan

    de una manera sin afectar a el juego.

    Los mods yo no los he creado, solo son una recopilación de ellos.

    Echo por: OblanquitO




  15. Language Sample Mod

    This mod demonstrates how to set up a language pack to be compatible with the mod system and with Steam Workshop. Language packs distributed this way will be easier to everyone to install and update!
    For more information on creating a language pack, please read this thread.




  16. Minimap Icon Sample

    This is a simple sample mod for adding your custom minimap icons. Nothing fancy, but the more samples the better.. I guess.




  17. Easy Character Art Template

    This is a template character for Don't Starve. Instructions on how to use this template can be found here.




  18. Season Calendar

    As I found Lunar Calendar from darkestaxe some days ago I found it very useful. But I couldn't find any calendar, table, chart or whatever for the season cycles, neither here nor elsewhere on the net. So I decided to write my own in MS Excel.
    Feel free to change the worksheet and the script to your needs.
    Thanx for the nice comments.
    F... this voting system. I accidentally gave myself 2 stars and can't adjust this anymore Please could some users who like my tool vote for it?
    Update 2:
    Hopefully this version is the final one.
    Thanx for voting.
    LAST update:
    Due to the amazing Season Clock mod my tool is obsolete:
    Thanx again for all your feedback.




  19. Hat Example

    This is an example of a hat. This example requires the PC version of the 'Don't Starve Mod Tools'.




  20. Domo's Don't Starve Character Creator

    This is the download page for Domo's Don't Starve Character Creator tool.  It is a plugin for Adobe Flash, and requires that you have Adobe Extension Manager installed.  Instructions on its use can be found here.  Enjoy!




  21. Sample Animation

    This is an example of how to create a custom character animation. Instructions on how to use this example can be found here:
    Tutorial: Adding a Custom Idle Animation




  22. TextureConverter

    This is Klei's internal tool for converting textures into our in-game format.
    This tool comes with a big Buyer Beware! This is a development tool and not end user friendly. As you've discovered there is virtually no error checking because we use it in a very narrow set of circumstances and those are well debugged.
    Also please note the game engine only supports ARGB/DXT1/3/5.
    Hey all,
    I see that many of you are looking to create .tex files for the game to load. I've discussed it with the team, and we're releasing our own Texture Converter for you to use.
    Have fun!

    Discuss this Mod




  23. Backup your saves game

    In Don't Starve Shipwrecked, to backup your save game, you must copy all files from two locations:
    -  C:\Users\USERNAME\Documents\Klei\DoNotStarve\save
    - ...\Dont Starve Shipwrecked\bin\3DMGAME\Mr DJ\storage
    Every time backup or restore, you must do the 1st and 2nd steps. For convenience, I create an application run in Windows that you can backup/recover easily with a by only one click.
    Name player: input name of player properties.
    Date Game: input date in game.
    (Only Compatible With Windows due to How Finding File Works and I have no idea if Visual Basic programs work on Linux or Mac.)
    Some when I will be adding new features based on suggestions and feedback, so if you have any then I want it!




  24. Expert Tools

    This mod is just a life quality improvement for those who find themselves typing redundant code on the console.
    It doesn't really change the game in any way other than adding some handy console commands.
    In case of any questions about how stuff works, just take a look at the code.
    Just install this mod on the SERVER and it's ready to be used.
    Command list:
    shutdown(bool save)
    Same as c_shutdown()
    reset(bool save)
    Same as c_reset()
    restart(bool save)
    Same as c_reset(), for those who just like me think that the word "restart" is nice and smooth to type.
    modList(int index)
    Prints a table-like list of all the mods active on the server, containing the following information:
    ID: just for organizing the list better and to be used as a parameter;
    Name: workshop name of the mod;
    c_requires: whether or not the client needs to download the mod in order to join the server;
    Version: the mod version;
    Fancy Name: The way the mod is called, such as "expert tools".
    int index: [optional] This parameter allows you to see information about the specific mod instead the whole list.
    count(str prefab)
    Uses c_announce() to display a count of the prefab on the world. See parameters for more info.
    str prefab:
    "beefalo": counts and specifies beefalo and baby beefalo.
    "gears": counts gears on the world, including those that are still inside the mobs, just waiting to be killed.
    You can also input any prefab to have a generic message with a count of that prefab.
    revive(int playerIndex)
    Revives players, specific or all.
    int playerIndex: [optional] specifies the player to revive by the number you get with c_listallplayers(). If absent, revives all dead players.
    kill(int playerIndex)
    Works just like revive(), but kills instead of reviving.
    creative(int playerIndex)
    Toggles creative mode on playerIndex.
    int playerIndex: specifies the player.
    isCreative(int playerIndex, bool noPrint)
    Returns whether or not the player is on creative mode.
    int playerIndex: [optional] specifies the player.
    bool noPrint: [optional] suppresses the print.
    If used with no parameters, a list showing all players and their creative status will be displayed.
    say(str message)
    Allows you to send chat messages from the console easier.
    str message: the message.
    kick(int playerIndex)
    Kicks a player and drops its inventory.
    int playerIndex: specifies the player.
    ban(int playerIndex)
    Bans a player and drops its inventory.
    int playerIndex: specifies the player.
    tp(int p1, int p2)
    Teleports player 2 to player 1. Specify only player1 to teleport all to p1.
    If you get confused on who goes to who, just remember that p1 never moves.
    int p1: specifies the final location of the teleport.
    int p2: [optional] specifies the player that is going to be teleported.
    If p2 is absent, all players will be teleported to p1.
    p1 and p2 work just like playerIndex on the other functions.
    heal(int playerIndex, noPrint)
    Heals health, sanity, hunger, moisture, temperature and removes revival penalties.
    int playerIndex: specifies the player.
    bool noPrint: [optional] suppresses the print.
    god(int playerIndex, noPrint, god)
    Applies heal() and makes the player a god, invulnerable to everything.
    int playerIndex: specifies the player.
    bool noPrint: [optional] suppresses the print.
    bool god: [optional] forces god state to be false or true, instead of toggling it.
    isGod(int playerIndex)
    Returns whether or not the player is on GodMode. Works in a similar way to isCreative().
    int playerIndex: [optional] specifies the player.
    bool noPrint: [optional] suppresses the print.
    If used with no parameters, a list showing all players and their GodMode status will be displayed.
    silentBan(int playerIndex)
    Silently bans a player, without kicking from the server.
    int playerIndex: specifies the player.
    unban(int playerIndex)
    Removes a player from the ban list, allowing him to join the server again.
    int playerIndex: specifies the player. This player here is not a player that is on the server, its a player from the banlist()
    Displays a list with all the banned players, does not display user names.
    Prints for how long the server has been running.
    goNext(str prefab, int ...)
    Teleports how many players needed to the nearest specified prefab.
    str prefab: this is the prefab that is going to be the teleport target.
    int ...: [optional] this means that you could specify how many number of playerIndex'es you wish. Example: goNext("beefalo",1,3,7,4). This would teleport players 1,3,4 and 7 to the closest beefalo. If used with no parameters, teleports all players to the prefab.
    Displays a list with all the players. Lists player indexes, name, character and if they are admin.
    invisible(int playerIndex, bool noPrint, bool invis)
    Makes the player invisible.
    int playerIndex: specifies the player.
    bool noPrint: [optional] suppresses the print.
    bool invis: [optional] forces invisible state to be false or true, instead of toggling it.
    isInvisible(int playerIndex, bool noPrint)
    Returns whether or not the player is invisible.
    int playerIndex: [optional] specifies the player.
    bool noPrint: [optional] suppresses the print.
    If used with no parameters, a list showing all players and their invisible status will be displayed.
    I'm currently working on adding other functions and improving the mod.
    Please leave a comment to say something you think should be different or just that the mod helps you. Show some love!
    You may request a feature that you would like to see in this mod.


    1 comment


  25. Mod Testing Toolbox (RoG compatible)

    The mod formerly known as "simplex testing".
    Its goal is to aid in mod testing (being aimed at modders), focusing on being extensible through custom code to suit a particular purpose.
    To add custom code, place it in a file inside submodules/ and add that file's name (minus the ".lua" extension) to the Submodules.Include call in modmain.lua. Such code will have access to the variable imports performed in imports.lua and the conveniences defined in conveniences.lua, alongside the usual mod environment capabilities.
    The default submodules do (at least) the following:
    Enable debug keys.
    Add a new row of buttons to error screens, with a button for reloading the game state (like the previous mod) and another one for going straight to the main menu (without any saving).
    Run consolecommands.lua and export a few additional console utilities, listed below.
    Export an utility function called regen_level(), which regens the current level (erasing it).
    The additional console functions are:
    This mod will be listed as outdated in the Steam version. This is necessary to keep compatibility with standalone.