A (somewhat) Newb Friendly Tutorial for Adding Furniture

Puffin

Member
Mar 17, 2018
363
306
Hey guys- I see this question asked a lot, and if you're new to running a retro it can be quite confusing trying to figure out how to add new furniture to your hotel, so I figured, why not write a modern tutorial on how to add furniture to your catalog to help everyone out šŸ¤·ā€ā™‚ļø I will try and simplify this process as much as I can when my explanations or screenshots, but if you notice that I've missed something or want me to elaborate more, feel free to let me know! I will ask you to bare with me though, I will continue working on this tutorial to try and simplify things, Adding furniture is a bit time consuming and confusing when you first try, so if you get stuck at any point make sure to re-read the information provided, it should get you through, and if all else fails, other knowledgeable people may be able to help if you want to give a reply to the thread :)

Requirements:
- Nitro Converter set up & working-
You must be registered for see images attach

Installing the Nitro Converter:

Make sure you run yarn install && yarn build before first use.
- This can be done by opening CMD in the folder the Nitro-Converter is located in and execute the command: yarn install && yarn build


Set up the configuration.json properly

- Within your Nitro Converter folder, create a new file called furnidata.xml and paste the following code into it:

<?xml version="1.0" encoding="UTF-8"?>
<furnidata><roomitemtypes>

</roomitemtypes>
</furnidata>


Open configuration.json
- Set the appropriate paths in the .json to make the converter pull from the right places, below is an example of mine:
You must be registered for see images attach


To run the converter open a new terminal / console window in the main converter directory.

The converter has a few different start commands:

keyvalue
yarn buildWill run tsc and build .js from .ts
yarn startWill download and convert assets as set in the config
yarn start:bundleWill bundle decompressed .nitro assets (json / png)
yarn start:extractWill extract .nitro assets which can be used for editing
yarn start:convert-swfWill convert inputted .swf assets to .nitro

- Arcturus Generator -
The Arcturus Generator creates items_base, catalog_items and furnidata.xml, however it does not predict the parameters of the furniture you are adding, meaning you must go through either the database, or with a furni fixing plugin to correct the furniture functionality after its been added to your hotel.

- Node.js to run Nitro Converter (if you haven't set that up yet)-
If you are struggling to get your Nitro Converter working, please refer to the readme on the Git linked above.

The guide below is optimized for a couple of different methods of adding furniture, so please ensure you read the information thoroughly.

Keep in mind that while this tutorial is for Arcturus, furniture is more or less added the same way across all emulators.
If you are using Plus, check out Bran's releases in the Furniture Releases section, and convert as needed.
-------------------------------------------------------------------------------------------------------------------------------------------------------

* PLEASE MAKE A DATABASE BACKUP OF ITEMS_BASE AND CATALOG_ITEMS, AS WELL AS FURNITUREDATA.JSON BEFORE PROCEEDING WITH THIS TUTORIAL - I AM NOT RESPONSIBLE FOR ANY ERRORS YOU MAY ENCOUNTER. *

You must be registered for see images attach
You must be registered for see images attach

To begin, you will need the .swf or .nitro files for the furniture you wish to add. Lucky you, if you're adding furniture from Furniload, the SQL and Furnidata are already generated for you. If you are using .NITRO files at the time of SQL Generation, there will be an extra step you must take, so be sure you read through all of the steps below thoroughly to ensure you are adding furniture correctly the first time around!

As an example for this tutorial, I will be using items from - this is a great resource to make sure you are up-to-date on all of Habbo's latest furniture and already includes the necessary furnidata and sql we will need to add the items on your hotel Simply download the SWF file, as well as the icon.

** If you are adding from FurniLoad, the SQLS for different emulators are readily available and you can skip the Arcturus Generator program, however you will still need to convert the Furnidata to FurnitureData.json (which will be covered later in this tutorial).

When adding SWF or .Nitro Files from another source, make use of the Arcturus Generator to streamline the process and avoid writing the SQL's yourself!




You must be registered for see images attach

We will be converting the SWF file for Nitro, so you will need to place the files for conversion in the appropriate place within your Nitro Converter;
Example: C:\Users\Administrator\Documents\Furni\assets\swf\furniture - keeping in mind to use your folder structure as not everyone's will be the same.

- If you have SWF or .NITRO Files you did not get any SQL or FurniData from, simply PASTE the files in the swf folder of the Arcturus Generator,
You must be registered for see images attach
open the FurniCreator.exe program and click 'Generate' - your files will be in the Output folder of the Arcturus Generator.

- Be sure to rename your catalog_items file to the line of Furni you are adding for organizing when it comes time to add the actual items to the catalog. The other two output files can be left until you are done converting/generating, adding new furniture lines WILL NOT replace any data in those output files. Keeping this in mind, make sure to delete output files from the generator when you have finished to avoid future mishaps.

- If you are using .NITRO files in the Arcturus Generator, you must open the output files in Notepad when finished, and do a Find and Replace for .NITRO - make sure its being replaced with nothing. Failing to remove the .NITRO part in any of the output files will result in the furni not adding properly.

  • In your Nitro Converter, if set up properly, your configuration should look something like this, with a link to where you want it to pull Furnidata from.
  • If you have not created your furnidata.xml file yet, please do so now using Notepad and save it within the converter - make sure you paste the following code into the file, other than PASTE FURNIDATA HERE
None of the below code should ever be removed from your furnidata.xml in your Nitro Converter:
<?xml version="1.0" encoding="UTF-8"?>
<furnidata><roomitemtypes>
PASTE FURNIDATA HERE
</roomitemtypes>
</furnidata>
You will simply replace the PASTE FURNIDATA HERE with the furnidata generated by either Furniload or Arcturus Generator.





You must be registered for see images attach

- Open the CMD terminal in your Nitro Converter folder and execute the following command:
yarn start && yarn start:convert-swf

If successful it should look something like this:
You must be registered for see images attach


** Keep in mind your folder structure will not be the same as mine, but the examples should give you a good idea of where you should be looking:

  • Within your converter folder navigate to C:\Users\Administrator\Documents\Furni\assets\bundled\furniture and copy the .Nitro converted asserts
  • Paste these assets in your Nitro-Assets\Bundled\Furniture folder; example: C:\inetpub\wwwroot\atomcms\public\nitro-assets\bundled\furniture
  • Paste the Furniture Icons you saved earlier in your icons folder; example: C:\inetpub\wwwroot\atomcms\public\ms-swf\dcr\hof_furni\icons (you can inspect element on your existing items to see what exact path it is looking for if you are unsure where you furni icons are supposed to go).




You must be registered for see images attach

  • Open up the FurnitureData.json that we just converted in the Nitro Converter; example C:\Users\Administrator\Documents\Furni\assets\gamedata
  • Make sure you only copy all of the the information highlighted between the beginning and end lines, below is an example of what it should look like when copying the data from the .json
You must be registered for see images attach


- Paste what you have copied into your FurnitureData.json located in example: C:\inetpub\wwwroot\atomcms\public\nitro-assets\gamedata\FurnitureData.json and add a , (COMMA) at the very end, so, for example the very end of this should look like "rare":false}, - if you are using Visual Studio Code, the file name on the tab will appear white to indicate there is nothing wrong with the code. If this is the case, simply save the file. If not, re-check what you've done and make sure you've read the tutorial carefully.




You must be registered for see images attach

- Run the items_base SQL, either the one you generated with Arcturus Generator, or the one you got from FurniLoad. Make sure you run the SQLS for all items you are adding, If you generated your SQLS using the Arcturus Generator and .NITRO files, make sure you have done a Find & Replace, (searching for .nitro and replacing it with nothing).

- Create new catalog_page for each furniture line you are adding, for the purpose of this tutorial I will be creating a new page for my Cards & Dices, take note of the ID
You must be registered for see images attach


- Copy & paste the catalog_items, either the one you generated with Arcturus Generator or the one you got from FurniLoad. Paste the data into a query, and Find & Replace PAGE_ID_HERE with the page ID we took note of above, in this case, it will be Page ID 982.

You must be registered for see images attach






1689097193176-png.14612


  • Run :update_items and :update_catalog on your Hotel;
  • Purge your Cloudflare Cache and your own Cache, reload;
  • Login to the hotel, ensure your client loads and check the pages you created to make sure the furniture was added correctly.
  • Use a furni fixing plugin found on Krews Marketplace, or edit the furnitures parameters in items_base so the length, width, sit, lay, stack, walk, etc. are correct for the item to function properly.
You must be registered for see images attach

For those with the :furnifix command, the plugin created by ArpyAge, click the Spoiler button for a little tutorial on how to properly use those commands to fix the parameters of the furniture you just added. It is my recommendation to copy and paste this tutorial to a staff Discord channel so other members of your team can assist you in fixing items.

To fix a furniture you must :tele onto its main tile (the tile your mouse hovers on when you try to drop the furniture. If the furniture refuses to update run :update_items and :reload You can only fix furniture while on an empty tile... if a tile contains more than one item, the furniture will not update.. if you are not on the items main tile, the furniture will not update.

Length, Width and Height- length and width is set by per tile basis 1=1 tile I find the best way to do it when you are trying to figure out if you need to set length or width is to first set the height to 1 if its not already. Once you ran the length or width commands and move the furniture, tele onto the other parts of it to see if you are on the furni at the height set. If not, set it reberse of what you have done.
EXAMPLE There is a 2x2 carpet that needs to be fixed, after making sure that the item is walkable, execute the following commands.
:FURNIFIX HEIGHT 0
:FURINFIX WIDTH 2
:FURNIFIX LENGTH 2


Stack, Sit, Lay and Walk (0 being no, 1 being yes) - all furni will be default as no- so only set the one you need to, not them all. EXAMPLE Set the appropriate parameters for the item, if its a chair, it sits, if its a bed, it lays. if its a tile, it walks, and most furniture should be made stackable.
:FURNIFIX STACK 0 or 1
:FURNIFIX SIT 0 or 1
:FURNIFIX LAY 0 or 1
:FURNIFIX WALK 0 or 1

Furniture States/Cycles :FURNIFIX CYCLES (for this, you need to look at every furni in your inventory or the catalog and click on it once at a time, count how many different states that item should have while doing so. EXAMPLE This candle has 2 states, lit and not lit
:FURNIFIX CYCLES 2

SIMPLY MOVE ITEMS AFTER YOU HAVE MADE THE CHANGE, I FIND IT BEST TO KEEP THE STACK HEIGHT UNTIL YOU HAVE CHANGED LENGTH AND WIDTH SO YOU CAN SEE WHETHER YOU NEED TO SET THE LENGTH OR WIDTH AT CERTAIN NUMBERS
 

Attachments

  • 1689097193176.png
    1689097193176.png
    1.3 KB · Views: 683
Last edited:

Shokkato

New Member
Mar 10, 2018
12
0
Always well explained, great job.
you can add a step on how to add the clothes even the custom ones (in the catalog)
 

DDDDec

Tongue Boxing Champion 2023
May 30, 2017
406
250
I had alot of people ask me about this aswell, most people only have a problem with actually converting the files.

Thanks for doing a full and detailed tutorial appreciate you!!!
 

Puffin

Member
Mar 17, 2018
363
306
Always well explained, great job.
you can add a step on how to add the clothes even the custom ones (in the catalog)
Maybe ill do up a new tutorial tomorrow for that as this one is already quite long.
I've been wanting to do a quick guide for ripping furniture too.
 

DDDDec

Tongue Boxing Champion 2023
May 30, 2017
406
250
Maybe ill do up a new tutorial tomorrow for that as this one is already quite long.
I've been wanting to do a quick guide for ripping furniture too.
U should look into some of other peoples work for that there some people who released some scripts that rip all of habbos furni u could do tutorials for setting them up, cant find them like but im sure higako released some habbo ripping stuff not to sure

Nevertheless keep it up bro u should do some videos aswell would be useful resources!
 

Puffin

Member
Mar 17, 2018
363
306
I would prefer you ask here, I donā€™t want to be bombarded for help on Discord. I or someone else can answer when weā€™ve got time :)

But if this is about Brans Plus furniture Iā€™ve seen you asking around about you need to either convert the sql structure he provided to fit Arcturus or generate new ones using the Arcturus Generator. Plus uses a different database structure, this is why.
 

Shokkato

New Member
Mar 10, 2018
12
0
Maybe ill do up a new tutorial tomorrow for that as this one is already quite long.
I've been wanting to do a quick guide for ripping furniture too.
I think people appreciate a video tutorial more, because a summary of it would look something like this:

1) put the swf files in Arcturus Generator's "swfs" folder
2) Clean output and saved files Click generate and save file
3) navigate to output > saved > catalog_items.txt and modify PAGE_ID_HERE with the id of the page where you want the furnis to be inserted
4) put the furnidata.txt into a clean furnidata.xml and start the converter (set the converter to get files from arcturus generator folder)
5) move the converted assets to your root folder (furniture in bundled>furniture, furnituredata, add the code to your existing furnituredata.json) move any icons to hof_furni > icons or to your reference folder.
run the sql files and run :update_items and :update_catalog, you may need to clear the cache if you don't do it automatically

and it wouldn't be very explanatory. also, you'd get quite a few views :D
 

kira230902

New Member
May 7, 2019
25
3
I would prefer you ask here, I donā€™t want to be bombarded for help on Discord. I or someone else can answer when weā€™ve got time :)

But if this is about Brans Plus furniture Iā€™ve seen you asking around about you need to either convert the sql structure he provided to fit Arcturus or generate new ones using the Arcturus Generator. Plus uses a different database structure, this is why.
Iā€™m stuck on what part to download on the nitro converter
 

Playboy

New Member
Jan 22, 2022
9
1
Hi, how to fix the furni rotation? I tried :FURNIFIX ROT 1 and :FURNIFIX ROTATION 1 does ;furnifix include a rotation fixing command?
 

Puffin

Member
Mar 17, 2018
363
306
Rotations are set in the nitro file, you will only have rotations for however many the furni maker creates views for

Want to fix it? Remake the item and create the rotational views for the missing angles
 

Playboy

New Member
Jan 22, 2022
9
1
Rotations are set in the nitro file, you will only have rotations for however many the furni maker creates views for

Want to fix it? Remake the item and create the rotational views for the missing angles
Oh alright Thank you!
 

JSingDreams

New Member
Jan 23, 2024
23
11
I was able to add furni from FurniLoad without any issues.
Is there a tutorial on how to customize furni and add them?
 

xxmelvinn

New Member
May 26, 2022
2
2
Can anyone help me please!!!

I know how to add the furni but somehow I can't manage to add the SQL to the query. Please add me on discord and help me please. Add me bigmomma7396
 

JSingDreams

New Member
Jan 23, 2024
23
11
Can anyone help me please!!!

I know how to add the furni but somehow I can't manage to add the SQL to the query. Please add me on discord and help me please. Add me bigmomma7396
If you installed a plugin that modified the database, then you'll most likely have to do it manually since the SQL script is detecting more columns.
Depending on what kind of furni it is, you can just copy and paste the same data, then modify "id", "sprite_id", "public_name", and "item_name".
Example: If it's just a modified Throne, then you can copy and paste "throne" data and change the columns mentioned.
 

Users who are viewing this thread

Top