Creating Custom Furniture [ALPHA] – Cattails: Wildwood Story

admin

Guide to creating and modifying furniture for Cattails Wildwood Story, without the official modding guides.
You don’t need to know any coding. Only know how to create images, and edit text.

Introduction

This guide will teach you how to add custom furnishings to Cattails Wildwood Story. This article was originally posted on the cattails forum website:
Here – [proboards.com]

This does require no coding knowledge. I tried to make everything clearer, but I didn’t have time to go into detail.

This modding method is unstable, temporary and may cause problems. This method should be eliminated when official modding support becomes available.

Also, Windows 10 is my operating system. I don’t know if this would work for other systems.

Access to Game Files

If you don’t know the best way to access your Steam games files, you can try this: go into your steamlibrary, click on Cattails: Wildwood Story and click manage. Then click Browse Local Files.

These files should be available to you.

Click on “gameresources”, followed by “furniture”, to open the folder.

File directory if you’re on Windows should be: C:\Program Files (x86 – \Steam\steamapps\common\Cattails Wildwood Story\gameresources\furniture

How to create a Sprite

The “sprites”, which contains all the furniture sprites, should be located inside the furniture folder.

You will need an image editing program. I used Krita. However, you can use any software that allows transparency.

If you are unsure how big your image should be, I suggest looking at all the images of the other sprites. Then copy the dimensions for the one closest to the furniture you want. You might also need rotation and seasons to be considered, which I will explain in the next section.

(Also, one tile is 32×32 Pixels)

This will serve as my example sprite.

Some furniture can be rotated or changed with the seasons.

If you want your furniture only to be one image (with no rotation or animation), you can simply leave the image as is without saving it.

Rotation

If you want your furniture rotateable, make sure that your image width is four times larger.

Your sprite can be divided into 4 equal parts:

In each space, you will have to draw your furniture in a different way. The game will automatically divide it into fours so you don’t have to do anything. Each version must be kept in its own equal width space, or it will not be cut correctly.

Here is my example of a Sprite with Rotation:

Seasonal

This is similar the rotation. You can make 4 versions of your picture by making it four times longer.

It is important to ensure that each version does not exceed its equal width space, or it may be cut incorrectly.

Each space corresponds with a season.

1. Spring

2. Summer

3. Fall

4. Winter

Be sure to place it in the correct order or you’ll get the wrong sprite.

You can also make furniture that is both seasonal and rotated at the same moment. This means that your base image must be 16 times as long.

The first four represent spring, followed by the next four, summer, fall, winter, and so on.

Animated

Animation requires multiple images and not just one.

One image will be created per frame. You will need to save each picture as [name]#.png. # should begin with 0 and then increase by one for each frame.

Example:

Frame One: testobject0.png

Frame Two:  tobject1.png

Frame Three: testobject2.png

And so on.

You can also do it with seasonal/rotational pieces of furniture!

Save

Once you’re done with your sprite save it as a.PNG to the sprites folder. You can call your image whatever name you like, but be sure to remember it for when you need it.

Adding a.meta to a File

Go back into your furniture folder. There are a number of.meta data files. Meta files are used to tell the game what properties your object has. (how big it is, can it be walked through, etc.)

A.meta file may ask you for a program to open it. Any basic text editor should do the trick, but I used Notepad.

Copy and paste any meta file (. It doesn’t really matter which one. This will allow you to copy and paste the meta files (, it doesn’t matter which, and rename it to your furniture name.

Here are the (requirements parameters, as far as my knowledge is concerned:

  • “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,

If you have an animated character, you will also need to add animation_speed: #

2262ffe6e8fa8f You must not delete any spaces or quotations, colons, or other commas. The game will not understand the file properly.

“attatchment”:

Options: (: “Freestanding”, Floor, Wall

Freestanding means your object can be placed on any surface other than walls or on top floor objects.

Floor objects must be placed flat on the floor. They cannot be interconnected with floor objects. But, freestanding objects may be placed on top.

Only wall objects can go on the wall.

“unlocked”:

This indicates whether the furniture has been unlocked at start of the game.

True = you will be granted access to this item by default

False = You would have to buy/obtain it in some way.

“is_rotatable”:

Is it possible to rotate an object?

True = Yes

False = false

“is_seasonal”:

Does your object change with the seasons

True = Yes

False = false

“sprite”:

This corresponds the name of the sprite file.

I named my sprite picture file “testobject.png” so I could use it for sprite.

If the name is not in quotations, it will break!

“function”:

If your object has functions.

Options: (:

Pretty self explanatory.

None = It does not do anything

bed = It can be used as a way to save or sleep.

storage = It can be used in order to access storage

recordplayer = It can be used for recordplayer

pond = It can also be used like the crystal-clear pond

“is_solid”:

Can you actually walk through this object

true = not true, you cannot walk on this solid object.

False = It is possible to walk through this, but it’s not solid

“Blocker width”, and “blocker_height”.

This tells your game how big is your object’s reachbox. If is_solid matches, your cat can’t walk through this region.

Blocker_width indicates how wide the object hitbox in pixels is, and blocker_height the same for its height.

For my example furniture, I set the blocker_width as 32. This is because of the dimensions of my screen image.

“blocker_x_mod” und “blocker_y_mod”:

This eliminates the blocker that is at the origin.

Both can be set to 0 so that it is in the middle of your object (as shown in).

If blocker_x_mod is negative, it will move box to the side. If it is positive, it’ll move it to its right.

A negative number for the blocker_y_mod will increase it, and a positive one will decrease it.

Here, I set blocker_x_mod at 16 and blocker_y_mod at -16. My player cat is able to move over the actual image. However, it cannot move where the box (() is located.

“animation_speed”:

How quickly the frames change.

Higher numbers mean slower

Lower number = faster

There are still other options available, but you have the option to skip them and move on to the next section.

Light Options

These are recommended if you want light to be emitted from your object.

“is_light”:

It’s easy to see why. Does the object emit light when it is illuminated? (defaults in false)

True = Yes, Show Light

False = Do not show light

“light_color”:

What color is your lighting? Uses RGB color system.

Enter it as follows:

“light_color”: [255, 255, 255],

Numbers should be displayed on a scale of 0 through 255

The lightest white will be achieved by setting all three numbers to the number 255

“light_radius”:

How far does the light extend beyond the middle of your furniture?

“light_intensity”:

How intense (is your light?

The brighter light is, the higher the number.

Must be on the scale of 0-1

“light_x_mod”:8d8d8d8d8d2d and “light_y_mod”:

This, like the blocker modes, offsets the origin from the light from your screen by the given number value of pixels.

However, the light will be reflected from the top left corner of the sprite and not the middle, unlike with the blocker mods.

You can set light_x_mod so that the light’s origin is in the middle. Light_y_mod will be your sprite’s maximum height.

Here’s a section of my furniture.meta as a 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 onto a table or on a shelf? (Defaults in false)

True = it can be put on a plate

False = No, it cannot go on a plate

“is_table”:

Is this object an object? (defaults in false)

true = any furniture object with tabletop_placement can be placed on this item

false = other objects cannot go on this furniture object

Rotational Blocker Options

If your furniture object can be rotated, these can be used to alter the blocker settings.

You can set these to only allow your object to hit a certain hitbox when facing north.

“blocker width_north”: and “blocker_height_north”:

“blocker_x_mod_north”: and “blocker_y_mod_north”:

Or you could substitute “north”, with “east”, “south”, or “west” for any other direction.

These are the options that block the stone table for reference (. They only show north and 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,

(North is shown, right West)

This should conclude.meta. Now you can continue to part 2. 🙂

Adding a.lang file

Within the furniture folder, you will find a “lang” folder. Inside that folder, you will find another folder called “english”.

(Windows Directory: C:\Program Files (x86 – \Steam\steamapps\common\Cattails Wildwood Story\gameresources\furniture\lang\english\)

A bunch of.lang documents are contained in this folder. Copy and paste any (lang files, it doesn’t matter which). Rename it to reflect your furniture name. This allows you not to have to manually type the text.

Now open the file. The file will ask you to choose which program to open it when you open it. Any basic text editor should do the trick, but I used Notepad.

These options are available to you:

“lang_furniture_name”: “name”,

“lang_furniture_description”: “description”

As with the meta file, don’t forget to delete punctuation. It will break your game.

You can replace the name and description with any other text you choose.

Example:

“lang_furniture_name”: “Test Object”,

“lang_furniture_description”: “This is an object made for a tutorial.”

Load the Game

Hooray! You made it! You can now add your furniture to the den by loading up your game.

It is important to ensure that all files are saved first

Thank you so much for reading! I hope this was useful. Please let me now if you have any questions.

You can ask any questions by leaving comments.

 

Written by god

This is all we can share for Creating Custom Furniture [ALPHA] – Cattails: Wildwood Story for today. I hope you enjoy the guide! If you have anything to add to this guide or we forget something please let us know via comment! We check each comment! Don’t forget to check XIXGO.COM for MORE!

Share This Article