Modding

From wiki
Revision as of 06:24, 14 March 2017 by DeamonHunter (Talk | contribs) (Removed Accesory Tutorials to move them to their own page.)

Jump to: navigation, search

This page is meant to give an overview into Staxel's modding systems and give you insight into how to install, modify and create your own mods in the game.

Please note this page, and the game itself, is a Work In Progress. Many things are likely to change with the modding systems and any of these methods can be made obsolete at any time.


If you are looking for config options, head on over to Modding Configs for more in depth information.

Certain tutorials are being moved out of this page. Head to Category:Modding to look for any object's individual pages.

Most Recent change: 07/02/17 #Changelog


Installing Mods

Only install mods that come from trusted sources. Staxel, and related parties, are not liable for any damage done to your computer by installing mods.

There are a couple things you should note when installing mods;

  • Modded Installations will always fail validation attempts.
  • Mods need to be reinstalled after every update.
  • You do not need to install content mods when wanting to join a content modded server.


Installing a .sxlmod file

A *.sxlmod is basically a .zip file with a little extra information pertaining to the mod. To install it follow these instructions;

  1. Move the *.sxlmod to the following folder: C:\Users\[Your username here]\%localappdata%\Staxel.Launcher\gamedata\LocalContent\packages\
  2. Start the staxel launcher and press the mod manager button in the top left. Alternatively if that does not work, head to C:\Users\[Your username here]\%localappdata%\Staxel.Launcher\gamedata\bin\ and start Staxel.ModManager.exe
  3. Once the mod manager is started, you will see the mod that you just moved into the folder. To install it, click on it to highlight it then go to Mod → Install Package
  4. Once the progress bar is finished, you are now free to play with your mods. Enjoy!

As this is a *.sxlmod file, the mod file will not be deleted upon update. However you will need to repeat steps 2-4 for every update.

[An example .sxlmod will be added here in the future.]


Installing a normal mod folder or .zip file

Note: These files will get destroyed every update forcing you to repeat these steps every update. If you want to update the mod in order to keep the files in a singular spot, head to #Creating a .sxlmod file and follow those instructions.

To install these files;

  1. Move and/or extract these files to this directory: C:\Users\[Your username here]\%localappdata%\Staxel.Launcher\gamedata\Content\mods (Avoid copying two mods into the same folder. And do not place individual items in the \mods\ directory.)
  2. After that is done, head on over to C:\Users\[Your username here]\%localappdata%\Staxel.Launcher\gamedata\bin\ and start Staxel.ContentBuilder.exe
  3. Once the content builder is started. Click the Validate Resources button in the top left.
  4. Once the progress bar stops, you are ready to play. Enjoy!

Example mod: launcher.playstaxel.com/examples/grassSnow.zip (thanks to scornedbythenine)


Creating Mods

Staxel Modding Cheat Sheet

This cheat sheet contains useful links and resources for modding in Staxel.

These may be outdated. If you want more help join the Staxel discord server and people there will be able to help you.

Creating and Updating a .sxlmod file

Creating a .sxlmod file

.sxlmod mods are the preferred method for providing mod files to other players. They provide a way to easily create mods which also does not get deleted upon a Staxel update.

To create a *.sxlmod you will need to follow this procedure;

  1. Head to C:\Users\[Your username here]\%localappdata%\Staxel.Launcher\gamedata\bin\ and start Staxel.ModManager.exe
  2. Head to Mod → New → Create new Package. Once you have done that follow the instruction set that fit your situation;
  3. Fill in all the details you want.
  4. After that is done, drag your mod files, that are underneath the main mod folder (For Example, if your mod is say "WoodStuff" drag all the stuff inside the "WoodStuff" folder), into the shaded "Drag and Drop" area, to move them into the mod's folder.
  5. Select OK and the mod is now complete.

Once the previous instructions have been done, you can then navigate to View → Open Package directory or head to C:\Users\[Your username here]\%localappdata%\Staxel.Launcher\gamedata\LocalContent\packages\ to find your mod file which you can upload to whatever site you choose.


Updating a .sxlmod file

Updating a *.sxlmod file is a simple thing to do. To update the file with new additions;

  1. Head to C:\Users\[Your username here]\%localappdata%\Staxel.Launcher\gamedata\bin\ and start Staxel.ModManager.exe
  2. Highlight the mod you want to update
  3. Head to Mod → Update Package → From Installation. if you want to update the files based on the already installed mod or From Contents
  4. Your mod is now updated. Feel free to share this with others.

One thing to note is that Staxel does not do version control with files. Once you have updated a mod, you cannot get the old one back, unless copies were made.


Setting up for Mod Creation

While modding is easy in Staxel; there are a couple things needed before starting. First off, you will need to have a program to create a voxel model in. You can have a look at #Voxel Modelling Software and choose a program to work with. Be aware, each program has its quirks, and can cause trouble if you can't figure them out. As such it would be a good idea to learn how to use the program before starting modding, as this can avoid some frustration later down the line.


Along with this, there should be one other type of program installed. While notepad is great and all (it really is not great); it would be a good idea to install a different text editing program. Some good suggestions would be Notepad++, Sublime text or Atom. These provide their own benefits, and some can be set to give you contextual highlighting to help visually while editing. However this is not needed and working with normal notepad is fine.

Do not use Word or similar programs. They do not work in plain text and therefore will not work for the format needed.

To make sure that you don't run into problems with the game not recognising files. By sure to check that you can always see file extensions. (For example .txt). To do this go to Windows Explorer, click on the view tab at the top, and check the box next to "File Name Extensions". This makes sure you can see the .txt behind text files you create among other things.

After picking and choosing programs, the final step should be to set up a folder in which you can put your work in. This folder should be easy to get to, such as on the desktop, but if you want to back it up in Dropbox/Google Drive than feel free to do so. This means that you will always have a backup folder to rely on rather than working inside the game's files. After creating this folder, navigate to the games \mods\ folder and right click on it. Select Create Shortcut and drag this shortcut to the folder you created before. This will save a lot of time trying to search for this folder, and will help with moving files around.


Creating a Palette for Player Models

A palette is basically an optional colour scheme for a given accessory model. Models do not necessarily need to support palettes (you can have a completely unpalettable model designed to only have one colour scheme), but models which are designed to support palettes can essentially have any number of colour schemes limited only by the number of palettes defined.


In essence, a palette is an image with two rows of different colours. The top row of colours are the colours you want to replace, and the bottom row are the colours you want to replace the colour above with.


To create a palette you must first have a model to base the palette off. Without a model, a palette is basically useless. Once you have acquired a model to work with;

  1. You will first need to create an image in your favourite image software. (Photoshop, Gimp, even Paint is fine for this.) The size of the image will be 16 pixels per colour you want to change in the width(For Example if you want to change 4 colours, you will need to make your image 64 pixels wide) while being exactly 32 pixels high.
  2. Start by setting the top left most 16x16 grid to the first colour that you want to change. Once that 16x16 is filled, fill the 16x16 to the right of it with the second colour. Keep doing this until all colours are filled. This gives the basis on which your Palette is set.
  3. When that is done, you can now choose which colours you want to replace the originals with, and fill the space underneath that colour. Continue until you are done.
  4. Save it as a "*.png" file. You can now move that to a mod folder but we aren't done yet.

Example of a palette that replaces 4 colours.


With that, you have now created the image that is required for a palette. You will then need to create an icon for your palette. This icon gets displayed in the menu representing the palette.

  1. Go back to the image editor, and create another image, this time exactly 12x12 in size.
  2. Fill this with anything you like, such as having a "S" for "Suzy's Hair Colour". A recommendation would be to have a solid colour representing the main colour of your hairstyle.
  3. Save this image as a *.png file. (If you want, name this as the same as the file containing the palette but append " icon" to it.)

Example of a non-standard Icon to represent a palette.


With those two images made, we are now ready to actually tell the game "Hey this is a palette!" So we need to create a *.palette file with the following inside of it;

{
  "code" : "mods.modname.uniquenamehere",
  "icon" : "mods/Modname/NameOfIcon.png",
  "palette" : "mods/Modname/NameOfPalette.png"
}

The "code" property is just a unique name for the palette. Set this to be the same as the directory and file name starting at /mods/ replacing any "/" with ".".

The "icon" property is the path to the small 12x12 image you created earlier.

The "palette" property is the path to the palette that you created earlier.


With this the palette is now ready to be added to models. You may now add/edit the following line in any *.accessory file to include the code name from your palette.

"palettes" : [ "mods.modname.palette1", "mods.modname.palette2"] 

And if everything went according to plan, you can now select your custom palette from your model.

Hooks

These hooks allow you to access the guts of Staxel's code without the need to edit any of Staxel's files.

ModdingHooks


Layered Voxels

Some parts of staxel uses layered voxel files, like clothing. If your voxel editor doesn't support layers you can also try using a .layered file, which allows for building a layered model out of several other files.

example.layered: { "layers": { "Head" : "mods/example/HeadLayer.qb" } }


Staxel Modding Programs

Voxel Modelling Software

Qubicle : Paid Voxel software. Used by the Staxel Dev team. It has a lots of tools and options, but you will need to buy it to be able to export .qb and use other features. Some features are locked behind DLC but a free trail is available.

Available at minddesk.com

MagicaVoxel : Free software. Its very easy to use however it doesn't have support for layers and doesn't have proper selection tools. Also has a max size of 126^3. (May cause trouble with terrain tiles.) See #Modding for Staxel with Magica Voxel for more info.

Available at ephtacy.github.io

VoxelShop : Free software. Similar to Magicavoxel, but offers layer support, selection support. Doesn't have a max size.

Available at blackflux.com


There are others not listed here, but these prove to be the most popular in the Staxel community.

AssetManager

The Asset Manager is an all-in-one asset management system for Staxel. The default path for the Asset Manager is '<user id>/appdata/local/staxel.launcher/gamedata/bin/staxel.assetmanager.exe'.

Start by loading the content system ("File->Load Asset Directory", this will be done automatically if the option is checked in your preferences ("Edit->Preferences")). Everything, except building assets or using the "Create Material Models From Tile Models" tool, requires the content system to be loaded. From there you may begin using tools (under "Tools" in the top menu) or editing assets. To edit assets, open the window for the type of asset you wish to edit (under "View" in the top menu, or press CTRL+Shift+1-9) and have at it.

The Live Content System ("View->Content System Live") shows you exactly what is in Staxel's content directory, and let's you manage (create/delete) files and folders within the content directory safely.

The Asset Manager also comes with a Mod Manager ("View->Mod Manager"). The Mod Manager allows you to create mod packages (*.sxlmod files) and (un)install them, and delete them, whenever you please. Creating a mod package (in the Mod Manager click "Mod->New->Create New Package...") is as simple as selecting files to include in the mod and choosing a name for the mod. Once that is done the mod package is ready to be shared or installed at your convenience. To install or uninstall mods select the mod packages from the list and either click "Mod->Install Packages/Uninstall Mods" or right-click the selected packages and click "Install Packages/Uninstall Mods" from the menu. Files from an installed mod that have been edited (by yourself, hopefully) will not be uninstalled, but may be overwritten by reinstalling the associated mod package (assuming the file comes from the associated mod package). Installed mods must be built (if not already, and/or validated) by clicking the "File->All Assets->Build and Validate Assets" button in the Asset Manager. This can be done for you automatically, or turned off, by changing the appropriate setting ("Automatically Build Mods After Installation") in your preferences. Importing a mod package is also simple. Click "Mod->New->Add Existing Package" to import a package (perhaps passed on from a friend) into your package directory. The Mod Manager can also attempt to convert a .zip file, while it's being import, into a mod package, but it has one rule: all files inside the .zip must be inside a single root directory (e.g. "MyMod/block.tile"). The reason for this is that the Mod Manager tries it's best not to break paths used in the assets (e.g. block.tile might reference the model "MyMod/block.qb" which would break if block.qb is not in the MyMod directory). Finally, mod packages can be edited in two ways: by updating them via their installation directories (e.g. MyMod.sxlmod might update it's files from "mods/MyMod"), or by editing their contents manually. Both methods are under "Mod->Update Package".

While editing assets, it is sometimes helpful to view the asset's source file. To do this quickly, open an asset window and click "View->Source->File". The source file will be opened in an editor of your choosing, specified in your preferences. If you like, you can provide arguments to the editor in the preferences. If the arguments are left empty the asset's source path will be provided, otherwise, you can use the macro $(fpath) which will be replaced by the asset's source path (e.g. "/f $(fpath)" may be expanded to "/f C:\dirt.tile"). You may also like to open the directory containing the asset's source file via "View->Source->File in Directory".

If you have made changes to any assets, or have added new model files, and are ready to use them in Staxel, it is a good idea to make sure that all your assets are valid and your model files are converted into the format used by Staxel. To do this, click "File->All Assets->Build and Validate Assets". Don't forget to save your assets (in each asset window, "Asset->Save->All Assets") before doing so, however.

[More comprehensive help section coming...]


ContentBuilder

Content builder ( %localappdata%Staxel.Launcher\gamedata\bin\Staxel.ContentBuilder.exe ) is a tool used to prepare assets to be used by the game, it needs to be run when adding mods to a server.


Changelog

7/02/2017

  • Added a tutorial for making sounds.
  • Added a tutorial for making materials.
  • Added a section to objects to address issues with placing
  • Other minor changes.

21/01/2017

  • Added a tutorial for making hair styles.

19/01/2017

  • Revamped the previous tile modding tutorial, to one that is up to date and simpler.

16/09/2016

  • Changed Pricing attribute to pricing : { "value" : 0 } due to today's released update.