PLEASE, IF YOUR MAIN LANGUAGE IS ENGLISH HELP MARKING MY MISTAKES IN THE DISCUSSIONS SECTION. NOT IN THE COMMENTS. IF YOU KNOW HOW TO FIX THE SPOILER TABS I WOULD APPRECIATE IT TOO.
HI!
This is my first mod! And its made for helping you make armors and clothes way more easier. Do you want to add custom clothes to the game but don't know how or where to start? Or maybe you DO know how to make them but its too complicated and confusing? well, then you should try this template!
So, What does it include?
this mod provides a template or base with all functional sprites and, well, basically all you need to make a cool custom armor for you, and your mod.
In details:
-JSONs to tell the game what to do with your armor
-Dying compatibility (Color compatibility)
-Sprites for the whole set (legs, chest, head and back)
-Sprite for Masks
-Alternative pants sprite (Ill talk about this later)
To spawn it in game (Before modifying the mod) type "admin" in the chat, then:
"/spawnitem testarmorlegs" for the legs Item.
"/spawnitem testarmorchest" for the chest Item.
"/spawnitem testarmorhead" for the Hat Item.
"/spawnitem testarmorback" for the backpack Item.
That's good! And how do I use them?
First of all, both clothes and armors are called "armors" in these tutorials.
NOTE THIS TUTORIAL IS MADE TAKING IN COUNT YOU ALREADY INSTALLED THE MOD.
Well... you selected this, so I need to say this tutorial is for people who knows NOTHING about starbound modding in general. so, if you do know the basics, Its a waste of time to read this. Said that, lets begin.
Starbound Its a wonderful game for modding, since the rules of the game are so well done, that you don't need to know how to program. You can do awesome things, from weapons to items, blocks and furniture or even entire playable races without knowing or needing to learn a single thing about programming! So, how does it work? With JSON files.
What are JSON files?
JSON files, are, basically, note files with textual information that the game recognizes in its very own way. You can open them with NotePad,But since NotePad doesn't recognizes the linear script and can cause some weird stuff just because how the program works, I cannot recommend more Notepad++, a free to download note reader focused in code, not only will give full support to these JSON files. it also provides a lot of tools really handy for Starbound.
Mod organization
Well, once you have the program (Or risk to use just windows' notepad) you can open them and you will see its content. Ok, where are this? Mods in Starbound work adding a file named ".metadata" (JSON container of the mod's info, like autor, name of the mod, ID of the mod, version of the mod, description of the mod, etc.) and replicating the order of the content of the game, adding content or modifying vanilla content in the same order than the game works. obviously, only replicating the content to add or modify, and not the whole game. you wouldn't be able to see Vanilla stuff in a mod folder. Ultra Basic, right? Well, for this mod we only want to add one set of clothes. and the game stores the clothes and armors in: "mods\YourModFolder\items\armors\YourArmorSection\TheArmor". YourModFolder would be the mod itself, YourArmorSection would be the section the armor is into. for example, all human armors are stored in a folder called "human". you can add more sections with any name! if you don't know what section would be for your armor, you can make a section named "other". TheArmor Would be the folder containing the sprites and JSONs of the armor, and, thankfully, the last folder. For this mod, as you may have seen, the direction is "mods\Felis' Moon TestArmor Template\items\armors\armortemplate\TEST ARMOR" You should take a look at the JSONs in there, You'll see you understand pretty quick these by just looking at them. The best way of learning starbound modding, is trial and error, so don't be shy to mess with that, check the logs in "\Starbound\Storage" if something goes wrong and don't know what it is, and never give up! (Pretty please?)
Well, that concludes the Ultra Basic Tutorial. Moving on!
Step1: Name your armor section. (category)
First of all change the word "armortemplate" of the armor section folder to your armor's section. it could be any name you want! Starbound uses this to organize armors. Example, By race, Tiers, crafting stations etc. So, if we would be making a Floran armor, this folder can be simply named "floran". If you don't know what section would be, or just don't have a section in particular, name it "other".
Step2: Name your armor's set folder.
then, change the armor's set folder "TESTARMOR" to the name of your set/armor.
Step3: Delete unused JSONs.
Inside that folder, you will see one JSON file per item (legs, chest, head and back) and your armor sprites. Delete the JSONS you don't want in your set. Like... If your armor doesn't have a backitem, delete that JSON, Or the game will load an unused backitem, wasting memory, or possibly crashing the game if you mess enough with the IDS. (Starbound loads a lot of vanilla unused items tho)
Step4: Edit your JSONs.
This is the JSON of the chest item. All armor JSONs looks similar, so we will just need this one.
{
"itemName" : "testarmorchest",
"price" : 9999,
"inventoryIcon" : "icons.png:chest",
"maxStack" : 1,
"rarity" : "Common",
"category" : "chestwear",
"description" : "This rare piece of pixels helps the gods make you clothes. its stupidly thight.",
"shortdescription" : "TestChest",
"tooltipKind" : "armor",
"maleFrames" : {
"body" : "chestm.png",
"backSleeve" : "bsleeve.png",
"frontSleeve" : "fsleeve.png"
},
"femaleFrames" : {
"body" : "chestf.png",
"backSleeve" : "bsleeve.png",
"frontSleeve" : "fsleeve.png"
},
"colorOptions" : [
// BLUE
{ "ffffa0" : "96cbe7", "ffff00" : "5588d4", "c6c600" : "344495", "979700" : "1a1c51" },
// BLACK
{ "ffffa0" : "838383", "ffff00" : "555555", "c6c600" : "383838", "979700" : "151515" },
// GREY
{ "ffffa0" : "b5b5b5", "ffff00" : "808080", "c6c600" : "555555", "979700" : "303030" },
// WHITE
{ "ffffa0" : "e6e6e6", "ffff00" : "b6b6b6", "c6c600" : "7b7b7b", "979700" : "373737" },
// RED
{ "ffffa0" : "f4988c", "ffff00" : "d93a3a", "c6c600" : "932625", "979700" : "601119" },
// ORANGE
{ "ffffa0" : "ffd495", "ffff00" : "ea9931", "c6c600" : "af4e00", "979700" : "6e2900" },
// YELLOW
{ "ffffa0" : "ffffa7", "ffff00" : "e2c344", "c6c600" : "a46e06", "979700" : "642f00" },
// GREEN
{ "ffffa0" : "b2e89d", "ffff00" : "51bd3b", "c6c600" : "247824", "979700" : "144216" },
// BLUE
{ "ffffa0" : "96cbe7", "ffff00" : "5588d4", "c6c600" : "344495", "979700" : "1a1c51" },
// PURPLE
{ "ffffa0" : "d29ce7", "ffff00" : "a451c4", "c6c600" : "6a2284", "979700" : "320c40" },
// PINK
{ "ffffa0" : "eab3db", "ffff00" : "d35eae", "c6c600" : "97276d", "979700" : "59163f" },
// BROWN
{ "ffffa0" : "ccae7c", "ffff00" : "a47844", "c6c600" : "754c23", "979700" : "472b13" }
]
}
Itemname is the id of the item. not the actual name ingame. rename it to the name of your armor without caps. Note this is the name used to the game to identify it, as well in the commands to summon it. IT'S VERY IMPORTANT THAT THESE MATCH WITH THE OUTPUT OF THE RECIPES. (SHOWN MORE BELOW) OR THE GAME WILL SHOW CRASHES WHEN ATTEMPTING CRAFTING.
Price Is the price of the item. If a merchant sells this item this will be its price, as well if you sell it to one of them.
Inventoryicon is the little icon shown in the inventory. I recommend not to touch these, because its already set to what it should be. if you want you can change it so a chest item has the icon of the legs maybe? not really useful.
Maxstack is the maximum of the item you can stack. Don't add more than 1000.
Rarity doesn't do anything else than putting the colored tiles. possible rarities are: common, uncommon, rare, legendary and finally, essential. (used only for the matter manipulator. some mods used this rarity to mark essential items to complete the game. Others to make exclusive tiers/ rarities.)
Category Don't touch that.
Description is the description shown in the inventory.
Shortdescription Is the actual name of the item ingame.
MaleFrames and FemaleFrames This one is the most tricky. it tells the game what sprite should use for each gender, and determines the name of what sprite png is used for each part of the body. Did you see some clothes in the game gives pants for males and dresses for females being the same item? Well, these work with separate sprites. for example: pantsM.png will be the sprite used for males, and that name should be write in "legs", as well as pantsF in the FemaleFrames. that would allow two separate png files to be used in both different genders, and this can be done with all parts of the set. If FemaleFrames and MaleFrames have the same png file set, both genders will share the same sprite in the name of the png file set, body part respectively. this works good with legs, head and back, as they share exactly the same shape. but with the chest, you will almost always need separate gender sprites (chestM and chestF) (because females have b0obs, and that need more space, and males will look weird with that space and.... well... you got it.)
EffectSources do you remember the Dark Disguise armor found in Midnight Biomes? It adds that cool black smoke effect. well, This is the tag that adds particle effects to armors. there is just two or three armor effects used in the game. but curiously, the game has a lot of particles used for other stuff that are compatible with the armors!! This tag is not in this chest JSON shown above, or in the mod, because that armor doesn't use it. But if you want to add it, add the tag between female frames and color options like this without the parentesis:
( "effectSources" : [ "shadowsmoke" ], )
shadowsmoke is the name of the effect used for the dark disguise set. you must change it for the particle effect you want.
special thanks to ThatThunderCookie for the list.
- -PARTICLE EFFECTS LIST-
- arrowflames
- bandageuse
- barrierelectric
- barrierflames
- barrierice
- barrierpoison
- blood
- breathCritical
- breathRisk
- bubbletrail
- burning
- capturepodblue
- capturepodred
- cat
- chakram
- corrosive
- daggerblue
- dashing
- defaultblue
- defaultbrown
- defaultgreen
- defaultlightblue
- defaultmagenta
- defaultorange
- defaultred
- defaultwhite
- defaultyellow
- discardedbullet
- drinking
- drinkinghealing
- drippingslime
- eating
- electricpillar
- electricplasma
- electricplasmapurple
- electricswoosh
- energyplasma
- energyweapon
- fireflames
- firepillar
- fireplasma
- fireswoosh
- flames
- flamesfast
- foodCritical
- foodRisk
- froth
- frozenslow
- glowstim
- goo
- grabbed
- growflowers
- hatburning
- health
- healthCritical
- healthRisk
- healthstim
- icepillar
- iceplasma
- iceplasmarocket
- iceshockwave
- iceswoosh
- icethrowertrail
- icetrail
- icetrailfast
- icetrailwide
- javelinred
- jumpboost
- largeelectricswoosh
- largefireswoosh
- largeiceswoosh
- largepoisonswoosh
- lightningthrowertrail
- lighttrailfast
- melting
- motionattack
- multiJump
- music
- perfect
- pillarice
- pipkinflames
- poisondrip
- poisonpillar
- poisonplasma
- poisonplasmarocket
- poisonsickness
- poisonslowdrip
- poisonswoosh
- poisonthrowertrail
- rocketsmoke
- runboost
- shadowsmoke
- skidding
- sleepbubbles
- slimeslow
- slow
- smoke
- snowflakeshurikentrail
- spacedusttail
- sparkles
- sparklesunicorn
- sparks
- spectralsparkle
- spiderblood
- squirt
- stargazer1
- stargazer2
- stargazer3
- stimuse
- tar
- tarball
- tarfast
- tarslow
- tinyrocketsmoke
- warmthCritical
- warmthRisk
- whitepoof
Color Options is the colors of the armor shown in game. they work like this, using Hex codes : " "ColorInSprite", "ReplacingColor" " and that would be one shade of color. Let's say we did the armor yellow in the sprites, with 4 tones of shading. and we want to make it compatible with the red dye. we should edit the "RED" color slot like this:
{ "light color in png" : "f4988c", "main color in png" : "d93a3a", "dark color in png" : "932625", "darker color in png" : "601119" },
the second Hex values are the values of the red dye, reason why is not necessary to replace them. you can change them so you can make other tone of red, or even other color that responds to red dye item. I left them configured so you only have to change your own sprites values, the colors in, well, the sprites, pngs. just don't change the "RED" word or the dye won't work. thats the only thing it uses for tracking it. so, first hex value, the color found in the sprite PNG to replace, second hex value color, the color to replace the first color with. you can extract the hex colors of your sprites or create new hex colors with photoshop or a hex color picker.
Step5: Draw the armors
Use a program like PaintToolSai 2.0 or Photoshop and edit one of the sprites. make a new layer and use the original sprites as a base. Yes. The whole armor fits the bodies of the vanilla characters perfectly. All the Black letters in the sprites should be in the same way they are, or animations could get confuse.
The sprites (in this mod) are:
back.png (this is the backitem sprites)
bsleeve.png (this is the back sleeve sprite. matches the barm of humanoid.)
chestf.png (this is the female chest. it has the shape of how it would look with a normal piece of clothes on. again, its perfectly fitting the body, it just modifies the look of the chest to make it more smooth and less... boobs.)
chestm.png (this is the male chest. its perfectly fitting.)
fsleeve.png (this is the front sleeve sprite. matches the farm of humanoid.)
head.png(the size may look weird. But don't worry. just edit the head at the top. it is fitting. )
Icons.png (the tiny Icons that show up in the inventory spaces. they have marked limits for reference. you should erase them or these will show up in game.)
mask.png (this one is a bit tricky, but very fun. This PNG reassembles the Hat/Head. Its use is to cover Hair, partially or completely. If its all black, It will show the hair of the character when the head is being wore. if its all transparent, It will hide the hair. The reason why this is a PNG is because you can vary between black and transparent to cut trough species hair sprites. for example, a cap that allows hair coming in the lower part but not in the upper part, (black under the cap of MASK.PNG and transparent above) or a space helmet that allows hair to be shown under a semi transparent crystal visor. (Black in the area of the visor/glass, transparent everywhere else). )
OnlyPants.png (unused ingame alternative unisex topless version of pants. you can change it with the original if you want)
pantsf.png (Feminine pants with top. unlike its chest version, this one follows the inside body shape, making it look more like the default body. less smooth and more... boobs.)
pantsm.png (Masculine pants with top.)
Step6: Finish the last things... graphically.
~Erase those border lines in the icons. i just made them so you know the limit of them. they will display ingame if you don't do it.
~Obviously to say that color options must be done after the sprite is done, so the colors match. or use the original colors? As you please! Now, if your armor is not supposed to be crafteable, delete the folder " recipes " and the archive " players.config.patch " and you are done! Spawn the clothes with "/spawnitem (your item's ID/itename)
Step7: ONLY FOR CRAFTEABLE ARMOR. Replace the Recipes IDS
-Inside the mod folder you'll see a "recipes" folder and a json named "player.config.patch". for the JSON just modify the item ID or itemname (Not in game item, ID.) with NotePad++. This JSON file determines which items become crafteable for ALL races. even modded ones. (NOTE: If this is NOT done or changed, the game will not crash. though, it will also not load the recipes.)
For the recipes themselves, (change their file name with you item ID/Itemname) located inside the recipe folder, they look like this:
{
"input" : [
{ "item" : "fabric", "count" : 20 },
{ "item" : "cottonwool", "count" : 2 }
],
"duration" : 5,
"output" : { "item" : "testarmorchest", "count" : 1 },
"groups" : [ "craftingwheel", "clothes" ]
}
Input Is the items (resources) needed to craft your item. by default I set 20 fabric and 2 cottonwool. you can change these. always with item IDS/Itemname s. Count is the amount of this item needed to be crafted.
Duration Is the time in seconds it lasts to be crafted.
Output should be the exact same than the item ID/Itemname you are crafting itself. This is literally what it "gives you" the recipe or crafting action. If the item in non existent, Non matched or miss wrote, the game will crash when using the spinning wheel. (beware when you change IDs/Itemnames) Count works the same
Group tells the game in which station the item is crafted, AND the section of that crafting station (TAB ) It uses item IDs/Itemnames (SpinningWheel Itemname is craftingwheel) and the section located in vanilla recipes.
Recommendations
- this bases were made for programs who support layers.
-Photoshop is a good app for editing sprites. but I recommend PaintToolSai 2.0 if you are a good artist and know how to use it. if not, please use Photoshop. Binary pencil set to minimum and bucket set to paint all pixels of the same color in 1 tolerance and no anti aliasing are awesome tools that save a lot of time, and both programs have.
-if you have a doubt, you can grab any species male or female body, or back and frontarm (as long they are not modded) and compare the sprites in different layers. you'll see that some of them are the same size and sync. this can be helpful to have an idea of where is the body when drawing the armor.
Future Updates Ideas
- Feel free to ask!
FAQ
Q- Is the armor perfectly fitting the body of the player or it has additional pixels out of the body?
A- Yes, it fits the body perfectly. not a single pixel out, so you can draw your armors on them in a separate layer, as a base. or just modify the armor!
Q- Why does the pants give me a shirt too?
A- Because, unlike chest sprites, pants sprites are worked over the default body frame. making it possible to add stuff in the chest. Since this is a base, I make it so, if you want to use it, well, use it! If not ignore it! (Or change the sprite for the unused "JustPants.png" I left)
PLEASE do not include this template in compilations or redistribute it unless you are distributing the link to this page. if you publish it in another place, and I update this mod, your post would be outdated, and people would be downloading an outdated version of my mod. Thanks.
- Mod Pack Permissions:
- Do not include this mod in compilations.
- Mod Assets Permissions:
- Anyone can alter/redistribute the mod's assets without the author's consent.
-
Welcome to the official Starbound Mod repository, Guest! Not sure how to install your mods? Check out the installation guide or check out the modding help thread for more guides.Dismiss Notice
Outdated Mods have been moved to their own category! If you update your mod please let a moderator know so we can move it back to the active section.
Cosmetic Armor Template AND TUTORIAL by FelisMoon 1.3
Base sprites and jsons for making your own custom clothes a lot easier.