Let's School

Let's School

Not enough ratings
EduWorks - Furniture
   
Award
Favorite
Favorited
Unfavorite
AssetType: Script
File Size
Posted
Updated
934.628 KB
12 Oct @ 5:48am
23 Oct @ 10:34pm
6 Change Notes ( view )

Subscribe to download
EduWorks - Furniture

In 1 collection by Bryan
EduWorks
6 items
Description
This mod expands on what you can do with custom furniture.
Most of the work is already handled by the base game, but [EduWorks – Furniture] helps take it a step further.

However, please keep in mind that, by itself, this does mod does nothing. This mod is only necessary if you either:
A) Plan to use a furniture mod that takes advantage of the features of this mod.
or B) Are a mod creator seeking to make furniture and want the extra features this mod provides.


By the by, the creators of the game put out a guide called "Let's School Mod Creation Tool Guidelines" which you can check out here: https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=3277072630 !


Features for Mod Authors
[EduWorks – Furniture] will automatically register the proper UI elements to your furniture. This allows you to, for example, display the amount of Drinking Water provided, or the Range of Cleaning, amount of Entertainment given, etc.

Additionally, you can customize these values. So your custom Rubbish Bin can cover the entire map, or your single modded Water Station can give a staggering amount of 500 water. Hydration is very important after all!


Features for Users
Having [EduWorks – Furniture] downloaded and enabled will let you see the proper UI information on modded furniture, as well as enable the furniture to have the custom stats in-game.

How To Use: Users
Just download and enable. That's it!


How To Use: Mod Authors
When creating your custom furniture, you will now see 2 extra UI elements;
"Service Type: XYZ"
"Range/Capacity"

"Service Type: XYZ" lets you know what your custom furniture will be able to do. For example,
"Service Type: Your Furniture allows Cleaning Trash"
"Service Type: Your Furniture provides Drinking Water"

These are fairly self-explanatory, and are dictated by the Furniture Template you use. So if you use an Umbrella Stand as the Furniture Template, then you will see "Service Type: Your Furniture provides Umbrella" and get the option to modify the "Capacity" which is how much of that Unit (Umbrella in this case), your modded furniture provides.

Some Furniture Templates will not let you edit the Capacity/Range and instead give you this message: "Capacity/Range: not required"
That just means that the Furniture Template you are using does not require those fields. For example, the Lavish Desk. In these cases, your Furniture will still function normally, and any rooms which accept it will view it as valid and add it to the relevant building UI.

"I want to create an Umbrella Stand that also serves as a school desk like in your images!"
You still can my friend! Simply set your Furniture Template to a desk, such as the "Normal Desk", and change the model (your .fbx) to that of an Umbrella Stand! And now your students will get some truly quality seats! DO NOT set your Furniture Template to the Umbrella Stand, as that will NOT let it be used as a desk for students to sit on.

Finally, in order to make sure that users can take advantage of your new furniture in all of its glory, set this mod as a required dependency so users know to download it. If you don't want to do that, you can just mention this being a requirement somewhere in your description. Though any users who don't download and enable [EduWorks - Furniture] will then not get the full experience you intended.


Limitations
Sadly, this mod doesn't allow for truly 100% custom furniture with custom logic and animations or whatnot. I tried, but after hours banging my head against this, I've come to the conclusion that this is a skill issue on my part. Sorry.

So all the logic of interaction, animations, and what your furniture can actually do, is limited by what Furniture Template you pick from the vanilla pool. So this means that if you wanted to create a Student Desk that can sit multiple students, you need to use one of the bigger ones already in the game as your Template first. Which means that you can't, for example, use the Lavish Desk as a base and then give it the ability to sit 5 students at once.





Legacy Documentation & Examples
THIS IS NO LONGER REQUIRED TO BE FOLLOWED OR READ
THE MOD NOW INTEGRATES ITSELF IN-GAME
THIS IS ONLY HERE FOR POSTERITY AND ADVANCED USERS
WAS PUT TOGETHER WHILE I WAS SLEEP WALKING. THERE MAY BE DRAGONS AHEAD

I’ve put together a small website you can visit here.[anime-armada.neocities.org] It provides a few examples and a UI to try to help guide you a bit.


How It Works
When you create a new furniture item, you’ll end up with a `furniture.json`, and we can effectively piggyback off existing game furniture by specifying its `TemplateId`.

By pairing a `TemplateId` with a custom `CommentsI18n` line, you can easily add new logic and behaviors to your furniture thanks to [EduWorks – Furniture]. At least so long as that logic and behavior already exists in the base game. Remember, we're basically cloning and re-skinning the furniture the base game already had to begin with. On the upside, you don't need to write any code or ship any .dll in your furniture mod.

Example 1: Rubbish Bin
"TemplateId": 5095451930855574502,
"CommentsI18n": { "Key": "Layer=Cleaner; Range=21", "Value": "FURNITURE_DESC" }

Result:
Your furniture now acts as a Rubbish Bin that students and staff use to clean rooms!
The `TemplateId` clones the base furniture properties and functionality, while `CommentsI18n` applies the Cleaning logic and tells the game that our custom furniture should have a range of 21.


Example 2: Water Station
"TemplateId": 5024202345472378793,
"CommentsI18n": { "Key": "ServiceId=5020060253637425488; Capacity=100", "Value": "FURNITURE_DESC" }

Result:
Your furniture now provides Drinking Water which characters can drink from.


Example 3: Student Desk
"TemplateId": 5688794237908425562,
"CommentsI18n": { "Key": "", "Value": "FURNITURE_DESC" }

Result:
Some furniture, like desks, don’t require any special parameters in their CommentsI18n, so we just pass an empty key string. The game will automatically treats it as a working Desk, and register it for being valid for classrooms and whatnot. In this example, the TemplateId used was for the Lavish Desk, which only fits 1 student. If you want to create furniture that fits more, you can visit the website to find all of the furniture TemplateIds and use the ones for bigger Desks.



Credits
I used the mod 'Japan Assets Pack - Entrance Hall' by ババナ in the images, and while creating the mod, because I think it looks pretty neat. Check it out for yourself if interested!
2 Comments
Bryan  [author] 19 Oct @ 10:47am 
@LegendNoobz
If you want to make your own furniture, with your own custom values, you'll need to use the game's built-in tools to create furniture. That does mean you'll need to supply a .fbx file and go through the process of creating a piece of furniture though.

So if what you want to achieve is just modifying the values of existing furniture, this mod will NOT help you. You could, but you'd need to dump the game's models so you could re-use them.

This mod just lightly supplements the process of making custom furniture by allowing you to customize its Capacity/Range, and registering it with the UI for you, so that players can see that your furniture gives X amount of resource or has Y amount of range.
LegendNoobz 19 Oct @ 10:18am 
How to use this? Is there a UI in game to edit Custom Range? Or i need to make new furniture.json like on the website you refer to help?