Cattails: Wildwood Story – Creating and adding custom furniture

Cattails: Wildwood Story – Creating and adding custom furniture 1 - steamlists.com
Cattails: Wildwood Story – Creating and adding custom furniture 1 - steamlists.com

Guide to creating and adding custom furniture for Cattails Wildwood Story without having to consult the official modding docs.
No programming knowledge is required. Only need to know how images are created and text edited.
 
 

Introduction

This guide will help you add custom furniture to Cattails Wildwood Story. This guide was originally posted to the cattails forums website.
Here – [proboards.com]
 
 
 
This doesn't require any programming knowledge. I tried to explain everything as much as possible. If you have any questions, skip the unnecessary.
 
 
This kind of modding is unstable and temporary and can cause problems! This method should be discarded once official modding support has been added.
 
 
Note: I am using Windows 10. This is how it works for me on Windows 10.
 
 
 

Access to Game Files

If you don’t know how to access your Steam game files, you can start by going into your steam library, right clicking Cattails: Wildwood Story, then click manage, then click browse local file.
 
 
Cattails: Wildwood Story - Creating and adding custom furniture - Accessing Game Files - 408A919
 
 
These files should be provided to you:
 
 
Cattails: Wildwood Story - Creating and adding custom furniture - Accessing Game Files - E8FA90E
 
 
Click on the "gameresources", then click the "furniture",
 
 
File directory if you're on Windows should be: C:\Program Files (x86 – \Steam\steamapps\common\Cattails Wildwood Story\gameresources\furniture
 
 
 

Create a Sprite

You will find all furniture sprites in the "sprites" folder.
 
You will need to have some image editing software. I used Krita, but you can use any other software as long as it allows transparency.
 
 
If you are unsure about how large to make your image, you can look at the image dimensions of other sprites and then copy the dimensions of the one closest to the size you want for your furniture. You might also need to consider seasons and rotation, which I will explain below.
 
(Also, note that one tile is 32×32 pixels)
 
 
This will be my example sprite
 
Cattails: Wildwood Story - Creating and adding custom furniture - Creating a Sprite - A444A19
 
 
Some furniture can be rotated, changed with the seasons or animated.
 
You can leave the image as it is and save it if you prefer your furniture to be one static image (without rotation, animation, etc.)
 
 
Rotation
 
Make sure your image is four times wider if you want your furniture to rotate.
 
Your sprite will then be divided into four equal sections.
 
Cattails: Wildwood Story - Creating and adding custom furniture - Creating a Sprite - 95CA782
 
 
You will need to draw your furniture in each of the spaces. You will only need to draw your furniture in a different direction. The game will automatically cut it into fours. If you want each version to be cut correctly, ensure that it is in the same width space.
 
 
Here's my example of a sprite that uses rotation:
 
Cattails: Wildwood Story - Creating and adding custom furniture - Creating a Sprite - 6A0BE3E
 
 
Seasonal
 
This is similar to the rotation. You can make four versions of your furniture by making your image four times longer.
 
You must ensure that each version is kept in the same width space. Otherwise, it will be cut incorrectly.
 
Each space corresponds to a specific season.
 
Cattails: Wildwood Story - Creating and adding custom furniture - Creating a Sprite - 635D045
 
1. Spring
 
2. Summer
 
3. Fall
 
4. Winter
 
You will not get the correct sprite if it isn't in the right order.
 
 
Furniture can be made seasonal and rotational simultaneously. This requires you to make your base image 16x longer.
 
 
Cattails: Wildwood Story - Creating and adding custom furniture - Creating a Sprite - FAB6630
 
 
The first four are spring; the next four are summer; then fall and winter.
 
 
Cattails: Wildwood Story - Creating and adding custom furniture - Creating a Sprite - 0CB119D
 
 
Animated
 
Animation will require multiple images, rather than one.
 
One image will be made per frame. Each image must be saved as [name]#.png after saving it. # should begin at 0 and increase by 1 for each frame.
 
 
Example:
 
Frame One: Cattails: Wildwood Story - Creating and adding custom furniture - Creating a Sprite - A444A19 testobject0.png
 
 
Frame Two: Cattails: Wildwood Story - Creating and adding custom furniture - Creating a Sprite - CDED36F TestObject1.png
 
 
Frame Three: Cattails: Wildwood Story - Creating and adding custom furniture - Creating a Sprite - F430817 TestObject2.png
 
And so on.
 
This can also be done with seasonal/rotational furniture.
 
 
Save
 
Save your sprite as a.PNG once you're done. You can name your image however you like, but remember it because it will be needed later.
 
 
 

Adding a.meta file

Go back to the furniture folder. You will find a lot of.meta file. Meta files tell the game about the object you have. (How big is it? Can you walk through it?)
 
 
You may be asked to choose a program when you open a.meta file. Any basic text editor should work. I used Notepad.
 
 
Copy and paste any meta files (. It doesn't matter which one, it will be changed to). Finally, rename it to the name of your furniture. This allows you to save time by not having to manually type out all the text.
 
 
Here are the (required parameters as far as I am aware:
 
 

  • "attachment": "freestanding",
  • "unlocked": true,
  • "is_rotatable": false,
  • "is_seasonal": false,
  • "sprite": "spritename",
  • "function": "none",
  • "is_solid": false,
  • "blocker_width": 32,
  • "blocker_height": 32,
  • "blocker_x_mod": 0,
  • "blocker_y_mod": 0,

 
You will need to add "animation_speed", #, if you have an animated Sprite.
 
 
Also Note: Don't delete any spaces, quotes, colons or commas. Otherwise, the game won't be able to properly read the file.
 
 
"attatchment":
 
Options: "Freestanding", "floor", and "wall" (. These should be in quotes, or it will break)
 
You can place your object anywhere you like, including on walls and on top of other floor objects.
 
Floor objects cannot be placed on the ground and must not intersect with any other floor objects. However, freestanding objects can be placed on top.
 
Only wall objects can be placed on the wall.
 
 
"unlocked":
 
This refers to whether the furniture was unlocked at the beginning of the game or not.
 
True = You will be able access this item automatically
 
False = It would have to be purchased/obtained in a way.
 
 
"is_rotatable":
 
Can you rotate your object?
 
True = Yes
 
False = No
 
 
"is_seasonal":
 
Is your object subject to seasonal changes?
 
True = Yes
 
False = No
 
 
"sprite":
 
This corresponds with the name of your Sprite File.
 
My sprite file was named "testobject.png", so I would use it for sprite.
 
It will not work if the name is not in quotes!
 
 
"function":
 
If your object has a specific function.
 
Options: "none","bed",,"storage",,"recordplayer","pond" (. These should be in quotes, or it will break)
 
It's pretty self-explanatory.
 
None = It does nothing
 
It can be used to save money or to sleep.
 
Storage = It can be used for storage access
 
Recordplayer = It can be used as an recordplayer
 
Pond = It can be used as a crystal clear pond
 
 
"is_solid":
 
Can you walk through the object?
 
True = false
 
False = You can walk through it, but it is not solid
 
 
"Blocker width" and "blocker_height".
 
This tells the game how large your object's hitbox size is. If is_solid is true, your cat will not be allowed to walk through this area.
 
Blocker_width refers to the object hitbox's width in pixels. Blocker_height refers to its height.
 
 
I set blocker_width to 32 for my furniture example, as that is the dimension of my sprite picture:
 
 
Cattails: Wildwood Story - Creating and adding custom furniture - Adding a .meta File - 51434AA
 
 
"blocker_x_mod" & "blocker_y_mod":
 
This removes the blocker from its source.
 
Set both to 0 and it will be in middle of your object (, as shown in the above image).
 
If blocker_x_mod has a negative value, it will move the box left. If it is positive, it will move it right.
 
A negative number for blocker_y_mod moves it up, while a positive number moves it down.
 
 
Here, I set blocker_x_mod 16 and blocker_y_mod -16. My player cat can move over this image, but not over the box (. See on the left).
 
 
Cattails: Wildwood Story - Creating and adding custom furniture - Adding a .meta File - 6DA8145
 
 
"animation_speed":
 
It is amazing how fast frames change.
 
Higher numbers = slower
 
A lower number means that you will get results faster
 
 
There are many more options, but you can skip them and go straight to the next section if they aren't necessary.
 
 
Light Options
 
These are useful if you want your object emit light.
 
 
"is_light":
 
It is self explanatory. Does the object emit light? (defaults to false)
 
True = Yes, Show light
 
False = No, Do not Show Light
 
 
"light_color":
 
Which color is your light? Uses RGB color system.
 
 
It should look like this:
 
"light_color": [255, 255, 255],
 
Numbers must be on a scale from 0 to255
 
The lightest color is created by putting all three numbers at 255
 
 
"light_radius":
 
How far can the light extend from your furniture sprite?
 
 
"light_intensity":
 
How intense (bright) light is yours?
 
The brighter the light, the higher the number!
 
Must be on a scale from 0 to 1.
 
 
"light_x_mod": & "light_y_mod":
 
This works in the same way as the blocker mods. It offsets the origin light from your Sprite by the given number of pixels.
 
However, the light will come from the top of your sprite, not the middle, unlike the blocker modifications.
 
If you want the origin of the light to be in the middle, then you need to set light_x_mod at your sprite’s width divided by 2 and light_y_mod at your sprite’s height divided by 2.
 
 
Cattails: Wildwood Story - Creating and adding custom furniture - Adding a .meta File - B5A227E
 
 
Here is a part of my furniture's.meta for your reference:
 
 

  • "is_light": true,
  • "light_color": [0, 255, 255],
  • "light_radius": 64,
  • "light_intensity": 1,
  • "light_x_mod": 16,
  • "light_y_mod": 16,

 
 
Table Options
 
 
"tabletop_placement":
 
Can this be placed on top of a table? (defaults to false)
 
True = Yes, it can be placed on top of a table
 
False = It cannot be placed on a Table
 
 
"is_table":
 
Is this object a table or a lamp? (defaults to false)
 
true = Any furniture item with tabletop_placement equal to true can be placed on this piece of furniture
 
False = No other objects can be placed on this furniture item
 
 
Rotational Blocker Options
 
You can rotate furniture objects that are able to be rotated. These can be used to change the blocker settings when they rotate.
 
 
These can be set to make your object only face north if you want it to have a hitbox.
 
"blocker width_north": and "blocker_height_north":
 
"blocker_x_mod_north": and "blocker_y_mod_north":
 
Or, for any other direction, replace "north", "east", or "south" with "west".
 
 
These are the blocker alternatives for the stone table reference (, only showing north-west to keep it short)
 
 

  • "blocker_width_north": 56,
  • "blocker_height_north": 24,
  • "blocker_x_mod_north": 4,
  • "blocker_y_mod_north": 40,
  • "blocker_width_west": 24,
  • "blocker_height_west": 56,
  • "blocker_x_mod_west": 20,
  • "blocker_y_mod_west": 4,

 
 
Cattails: Wildwood Story - Creating and adding custom furniture - Adding a .meta File - 33356D7
 
 
(North showing, right showing West)
 
 
This should be enough for.meta. You can now move on to the next part. 🙂
 
 
 

Adding a file to the.lang format

You will find a folder called "lang" inside the furniture folder. Another folder called "english" is also within that folder.
 
(Windows Directory: C:\Program Files (x86 – \Steam\steamapps\common\Cattails Wildwood Story\gameresources\furniture\lang\english\)
 
 
There are a lot of.lang files in that folder. Copy and paste any lang file (or) into the folder. Then rename it to reflect your furniture name. This allows you to save time by not having to manually type out all the text.
 
 
Now, open the file. It may ask you to choose the program to open the file when you open it. Any basic text editor should work. I used Notepad.
 
 
These options will be available to it:
 
"lang_furniture_name": "name",
 
"lang_furniture_description": "description"
 
 
You must not delete punctuation, just like in the meta files. Otherwise it will break your game.
 
You can replace the description and name with anything you like.
 
 
Example:
 
 
Cattails: Wildwood Story - Creating and adding custom furniture - Adding a .lang File - D3B8800
 
 
"lang_furniture_name": "Test Object",
 
"lang_furniture_description": "This is an object made for a tutorial."
 
 
 

Load the Game

Hooray! It's possible! You should be able add your furniture to your den if you have loaded up your game.
 
You should make sure that you have saved all your files first.
 
 
We appreciate your time! I hope you found this helpful. Please let me know if I missed anything.
 
You can also ask questions in the comments.

 
 

Written by god

 
 
This is all about Cattails: Wildwood Story – Creating and adding custom furniture; I hope you enjoy reading the Guide! If you feel like we should add more information or we forget/mistake, please let us know via commenting below, and thanks! See you soon!
 
 


Be the first to comment

Leave a Reply

Your email address will not be published.


*