tModLoader Chad's Furniture-and-More-Mod

Sorry for being offline for such a long time everybody, life is just kind of competing with the mod for my attention, lately. I can't promise any regularity in updates or patches in the near future, but I'll try to at least respond to your questions, now.
I don't know if you meant to address it in this update, but animations are still frozen in multiplayer. It actually includes all animations in mod-added furniture. Clocks, soup, birds, rabbits...more I'm forgetting.
I'll look into this, but I'm not sure what causes that.
whoever is still working on this can you add more inaction figures like uderterrraia and calamity more mods popular like that
[doublepost=1523444468,1523444391][/doublepost]please
This is still on my to-do list for a future update, but not really priority as not everybody uses those mods, and I feel I should spend my time making something that everyone will use.
Right, but hypothetically speaking, if someone else did the graphics for you, it'd be a lot simpler to just kinda slide them in? :p
The sprites aren't necessarily the problem, but rather the pretty tedious copying and pasting of the corresponding files is very grating. Also (for better or worse) I'm always very hesitant to allow others to do spritework for me :/
I have tried waterfall blocks. The issue there is that the water is falling, so when it's in the ocean, it simply looks like the water is calm until it touches the dome, at which point it starts flowing around it. I know that blocks can be placed over liquids, and it looks awesome. But liquid that occupies the same space as a block or wall is deleted when the world is saved and reloaded, so it's not practical to rebuild the dome every time I play.
For the non-liquid glass-pressed versions walls, I wondered if it might be easier from a modding perspective to make a glass-block-appearance paint? If "texture paints" can be applied instead of just palette changing, that would likely be a little more flexible than making dirt, tree, or three different kinds of glass-pressed cloud blocks on an individual request basis, but I'm not sure it works like that.
Texture paints do sound like a good solution, although with the current high memory usage I don't think the mod is ready to take on something like that yet. I'll definitely keep it in the back of my mind for when the memory thing is more under control, though. In the meantime I could add a bunch of glass walls with various still liquids (and other things people suggest) behind them.
I'm afraid I'm a poor guest and have come with another pair of requests. I recently wanted to build a pyramid (in the style of those generated by the game) out of coralstone buried in the ocean sand, but there are no coralstone background walls. I understand that coralstone appears to be unpopular and not a well-liked block based on posts on the forum, but I was wondering if you might make a coralstone background wall, and maybe a pillar or door for these derelict monoliths built by ancient fishron worshippers?
Last idea seed: I'm very eager to acquire these inaction figures. I was looking at the images of them again a few days ago, and they reminded me of target dummies. I was wondering if they can be hit like target dummies, and if so, can they be made to have the particular boss' defense stat rather than the target dummy's 0 defense?
That sounds like a really cool build! If you're still working on this (because I am very late with responding...), do send me a picture of the finished product after I've added the coralstone walls and pillars!
The inaction figures can't be used as target dummies at the moment, although that is an interesting idea. I believe the target dummies work in a pretty advanced programmy way, though, so it might be a challenge to implement, but I'll try it at some point!
Just a question... why is the Red Snapper (I think it's that one), when placed, with an dark-ish blue/purple/cyan?
Wouldn't it be red like the item?
It should be red like the item, yeah. I guess it places the wrong fish then, I'll take a look myself. Thanks for reporting!
360ChadScope, it is displaying the same message as it does when the mod is installed.
EDIT: Also, when I installed the latest version, I still got the same message.
Can I see the specs of your PC?
After a bit more testing, the memory issues seemed to have been fixed on my end. This makes me very happy indeed. Thank you Chad. :)
PS - As an aside, how would you feel about adding some free standing barrels that are stack able but don't count as storage in a future update?
No problem :D
I like the idea of stackable barrels, I'll add them in a future update. Thanks for the suggestion!
why can't i craft the carpets? the guide seems to show the recepie, but when i comke up to the loom i can't do anything
That's pretty odd. Do you maybe have them disabled in the config file? Are you playing multiplayer or singleplayer?
I seem to be having an issue where carpet i put down randomly disappears until I reload the game. Has anyone else had this issue yet?
I don't know if this has been dealt with or not, but when I placed the floors down they disappear after a period of time. I'm currently building in the ocean biome if that has anything to do with it.
It seems that a couple of people have had this problem. Is the carpet back when you reload the game? Or does it only disappear after reloading?
Back at the usual state of being in this thread: I have a little bit of a suggestion.
how about making aquariums/fish bowls for all the various species of fish there are in the game, quest fish included?
I really want a "Harpyfish in a Bowl" :naughty:
That's an awesome idea! I am planning on making large (customisable) aquariums as part of my effort of making better critter houses, although I can't say when this'll be done as it seems like a very time-intensive addition to make.
I seem to have found a mod that yours currently disagrees with. It's called Furniture, Food, and Fun and is basically a garden-type of mod.
I haven't used your mod yet and I am wondering if its going to be getting a compatibility update? I don't know if it would be specifically for the one I have or if it would be in general.
EDIT: Disabling Carpets Worked!
That's odd, the mods always used to work together. I'll look into it.
@360Chadscope Yo. Your mod has utterly terrible optimization of GlobalTile.PostDraw hooks. So bad that i had to remove it from my server.
It takes your mod around ~600ms (all numbers just relative) to just CHECK whether or not it should draw something. That's in a world with none of your furniture blocks at all. Compare it to overhaul's ~17ms, while it's doing way more there.

Looked at your sourcecode, so here's some tips:
1. Merge all GlobalTile classes into one.
2. Make it so that TileType-like methods are only called once, somewhere in initialization.
3. Save value of "mod" to some variable. FYI, mod is a property, i.e. it's exactly like a method being called every time you read it.
4. Don't use thing such as WorldGen.SolidTile. It's trycatched in game's source for some reason.
5. Place tile.type checks before anything like SolidTile. But after something that checks that tile.active() is true.
6. Cache textures:
7. Don't be bad.

...i'm probably treating you like a noob way too much, lol. Hopefully you fix this soon. Lag can get unbearable with other fat and badly coded mods.
I'm very much a noob when it comes to programming, so that kind of treatment is justified.
1. That seems doable, I'll try to reduce the number of GlobalTile classes to one.
2. What do you mean by TileType-like methods?
3. Tbh I don't quite get what you mean, how does that improve optimization?
4. Is there a more efficient alternative?
5. I'll do that, thanks!
6. See point 5
7. That might be a tough one but i'll give it a go

Thanks a lot for the feedback, I'm not a master at programming (but would love to one day be), so this kind of information is very useful to know.
Alright! Hello everyone. Just made an account. I wanted to say this mod is amazing! There are not many mods that focus on decoration, but even if they were...I think this would be at the top.
Now, I wanted to point out a bug: Mystic Beds do not seem to count as the 'chair' requirement for a house.
Wow, thanks! Decoration is a very untapped element of Terraria, I hope there'll be more mods for that later on.
Thanks for reporting the bug, I'll fix it in the next update!
Why is this mod taking so much resources? I go from 59-61 fps to ~47 when I enable this mod (I do use Calamity, Spirit, Antiaris and Thorium among many other mods, but I only lose frame rates when I enable this one). Setting all options in config to false didn't help at all. I can only gain ~3 fps by playing at 102% zoom (setting zoom higher doesn't work any better). I really like stuff this mod adds (as I've been trying to get better at building and decorating stuff) but the performance loss is way too much.
That is a very extreme performance loss, I'm sorry to hear that. I'm working on it, though, and I hope that soon it will be more bearable!
1) I cannot for the life of me locate the spinning wheel, though I did see someone say it can be aquired from the hardmore merchant, he didn't have it when I checked.
2) Might I request a set of royal purple and gold trimmed banners.
3) A second request of a furniture set thats similar to the royal set but to match said banners above.
1) It's currently only sold once per moon cycle, but I'm gonna remove that requirement as it's just way too convoluted.
2 & 3) That's an awesome idea! Not sure why I didn't think of that, yet. The royal purple is the noblest shroud.
just a suggestion
some wild west themed furniture
That's a really cool idea, I might do some wild-west themed update in the future. Any particular suggestions for wild west furniture?
 
Sorry for being offline for such a long time everybody, life is just kind of competing with the mod for my attention, lately. I can't promise any regularity in updates or patches in the near future, but I'll try to at least respond to your questions, now.

I'll look into this, but I'm not sure what causes that.

This is still on my to-do list for a future update, but not really priority as not everybody uses those mods, and I feel I should spend my time making something that everyone will use.

The sprites aren't necessarily the problem, but rather the pretty tedious copying and pasting of the corresponding files is very grating. Also (for better or worse) I'm always very hesitant to allow others to do spritework for me :/

Texture paints do sound like a good solution, although with the current high memory usage I don't think the mod is ready to take on something like that yet. I'll definitely keep it in the back of my mind for when the memory thing is more under control, though. In the meantime I could add a bunch of glass walls with various still liquids (and other things people suggest) behind them.

That sounds like a really cool build! If you're still working on this (because I am very late with responding...), do send me a picture of the finished product after I've added the coralstone walls and pillars!
The inaction figures can't be used as target dummies at the moment, although that is an interesting idea. I believe the target dummies work in a pretty advanced programmy way, though, so it might be a challenge to implement, but I'll try it at some point!

It should be red like the item, yeah. I guess it places the wrong fish then, I'll take a look myself. Thanks for reporting!

Can I see the specs of your PC?

No problem :D
I like the idea of stackable barrels, I'll add them in a future update. Thanks for the suggestion!

That's pretty odd. Do you maybe have them disabled in the config file? Are you playing multiplayer or singleplayer?


It seems that a couple of people have had this problem. Is the carpet back when you reload the game? Or does it only disappear after reloading?

That's an awesome idea! I am planning on making large (customisable) aquariums as part of my effort of making better critter houses, although I can't say when this'll be done as it seems like a very time-intensive addition to make.

That's odd, the mods always used to work together. I'll look into it.

I'm very much a noob when it comes to programming, so that kind of treatment is justified.
1. That seems doable, I'll try to reduce the number of GlobalTile classes to one.
2. What do you mean by TileType-like methods?
3. Tbh I don't quite get what you mean, how does that improve optimization?
4. Is there a more efficient alternative?
5. I'll do that, thanks!
6. See point 5
7. That might be a tough one but i'll give it a go

Thanks a lot for the feedback, I'm not a master at programming (but would love to one day be), so this kind of information is very useful to know.

Wow, thanks! Decoration is a very untapped element of Terraria, I hope there'll be more mods for that later on.
Thanks for reporting the bug, I'll fix it in the next update!

That is a very extreme performance loss, I'm sorry to hear that. I'm working on it, though, and I hope that soon it will be more bearable!

1) It's currently only sold once per moon cycle, but I'm gonna remove that requirement as it's just way too convoluted.
2 & 3) That's an awesome idea! Not sure why I didn't think of that, yet. The royal purple is the noblest shroud.

That's a really cool idea, I might do some wild-west themed update in the future. Any particular suggestions for wild west furniture?
it's okay if life gets in the way, I have a story that I left in standby for like 3 months now because of school and stuff:confused:.
take your time, we understand
 
Sorry for being offline for such a long time everybody, life is just kind of competing with the mod for my attention, lately. I can't promise any regularity in updates or patches in the near future, but I'll try to at least respond to your questions, now.

I'll look into this, but I'm not sure what causes that.

This is still on my to-do list for a future update, but not really priority as not everybody uses those mods, and I feel I should spend my time making something that everyone will use.

The sprites aren't necessarily the problem, but rather the pretty tedious copying and pasting of the corresponding files is very grating. Also (for better or worse) I'm always very hesitant to allow others to do spritework for me :/

Texture paints do sound like a good solution, although with the current high memory usage I don't think the mod is ready to take on something like that yet. I'll definitely keep it in the back of my mind for when the memory thing is more under control, though. In the meantime I could add a bunch of glass walls with various still liquids (and other things people suggest) behind them.

That sounds like a really cool build! If you're still working on this (because I am very late with responding...), do send me a picture of the finished product after I've added the coralstone walls and pillars!
The inaction figures can't be used as target dummies at the moment, although that is an interesting idea. I believe the target dummies work in a pretty advanced programmy way, though, so it might be a challenge to implement, but I'll try it at some point!

It should be red like the item, yeah. I guess it places the wrong fish then, I'll take a look myself. Thanks for reporting!

Can I see the specs of your PC?

No problem :D
I like the idea of stackable barrels, I'll add them in a future update. Thanks for the suggestion!

That's pretty odd. Do you maybe have them disabled in the config file? Are you playing multiplayer or singleplayer?


It seems that a couple of people have had this problem. Is the carpet back when you reload the game? Or does it only disappear after reloading?

That's an awesome idea! I am planning on making large (customisable) aquariums as part of my effort of making better critter houses, although I can't say when this'll be done as it seems like a very time-intensive addition to make.

That's odd, the mods always used to work together. I'll look into it.

I'm very much a noob when it comes to programming, so that kind of treatment is justified.
1. That seems doable, I'll try to reduce the number of GlobalTile classes to one.
2. What do you mean by TileType-like methods?
3. Tbh I don't quite get what you mean, how does that improve optimization?
4. Is there a more efficient alternative?
5. I'll do that, thanks!
6. See point 5
7. That might be a tough one but i'll give it a go

Thanks a lot for the feedback, I'm not a master at programming (but would love to one day be), so this kind of information is very useful to know.

Wow, thanks! Decoration is a very untapped element of Terraria, I hope there'll be more mods for that later on.
Thanks for reporting the bug, I'll fix it in the next update!

That is a very extreme performance loss, I'm sorry to hear that. I'm working on it, though, and I hope that soon it will be more bearable!

1) It's currently only sold once per moon cycle, but I'm gonna remove that requirement as it's just way too convoluted.
2 & 3) That's an awesome idea! Not sure why I didn't think of that, yet. The royal purple is the noblest shroud.

That's a really cool idea, I might do some wild-west themed update in the future. Any particular suggestions for wild west furniture?
iunno exactly, but i do know that saloon doors are a must
here's some musical inspiration, if ya want it:
 
Last edited:
Sorry for being offline for such a long time everybody, life is just kind of competing with the mod for my attention, lately. I can't promise any regularity in updates or patches in the near future, but I'll try to at least respond to your questions, now.

I'll look into this, but I'm not sure what causes that.

No problem, I'm grateful for any time you can put into this mod. You do great work!
 
I'm very much a noob when it comes to programming, so that kind of treatment is justified.
1. That seems doable, I'll try to reduce the number of GlobalTile classes to one.
2. What do you mean by TileType-like methods?
3. Tbh I don't quite get what you mean, how does that improve optimization?
4. Is there a more efficient alternative?
5. I'll do that, thanks!
6. See point 5
7. That might be a tough one but i'll give it a go

Thanks a lot for the feedback, I'm not a master at programming (but would love to one day be), so this kind of information is very useful to know.
2 - stuff like mod.TileType<Tiles.BurnedGrass>()
You can make some static ushort variable and set it's value to that in Mod.Load()
3 - You'd be just reading the value straight away instead of calling the property's get method. Properties only look like variables, they're actually a method or a pair of methods, so for the compiler something like.. again.. "mod.TileType<Tiles.BurnedGrass>()" would actually look like "mod_get().mod.TileType<Tiles.BurnedGrass>()"

Simple returning properties aren't really performance eating, but you're around draw code, which is called a shtton of times every frame. Any microoptimizations are important.
4 - That method is just the check code below, except it's wrapped in something that's very slow and useless for you
if(testTile.active() && Main.tileSolid[(int)testTile.type] && !Main.tileSolidTop[(int)testTile.type] && !testTile.halfBrick() && testTile.slope() == 0 && !testTile.inActive()) {
//
}
You can just make your own method out of that, or just copypaste the code around.. that'd let you remove some checks, like active(), since you already have it somewhere if i remember correctly.
 
Not sure if anyone has reported this, but Chad's Furniture causes worlds larger than 8400x2400 made via TerraCustom to fail generation, or fail loading if CF is loaded after generating the world. I believe this has to do with floors from the error logs. Can we get a version of the mod completely without floors until they're made less buggy?
 
Not sure if anyone has reported this, but Chad's Furniture causes worlds larger than 8400x2400 made via TerraCustom to fail generation, or fail loading if CF is loaded after generating the world. I believe this has to do with floors from the error logs. Can we get a version of the mod completely without floors until they're made less buggy?
Oh yeah! That does happen, I forgot to mention it! I just disable the mod when creating worlds.
 
Wow, this mod is amazing!!

Have you thought of making more Living Wood objects? Like Re-skinning the living wood for Shadewood/Ebanwood/Boreal/Pearlwood/Palm wood/Spooky wood and Dynasty wood(I was thinking dynasty wood would be like a bamboo sort of thing, maybe sellable by the traveling merchant since that's how you get anything Dynasty)? I was thinking it would be something like you need a living loom is used with (insert wood type) to make living(type) loom. Living (type) loom is used to make living (type) furniture based on living wood recipes.

I'm currently trying to figure out how to make infinite honey and lava buckets based on the infinite water bucket (I'd suggest it, but it's not furniture), gotta make some moats for my castle. Dragging up thousands of honey and lava is stupid time consuming... This is the first time I've ever coded so we'll see if that works out -_-'
 
I'm currently trying to figure out how to make infinite honey and lava buckets based on the infinite water bucket (I'd suggest it, but it's not furniture), gotta make some moats for my castle. Dragging up thousands of honey and lava is stupid time consuming... This is the first time I've ever coded so we'll see if that works out -_-'
Consult the LuiaFK mod for the infinite varieties of most things. It's a fantastic mod that should work wonderfully for you.
 
Oh yeah! That does happen, I forgot to mention it! I just disable the mod when creating worlds.
You can generate the world just fine by doing this, but it still has a major problem. When you play on a world larger than the max vanilla size with Chad's Furniture it will stop rendering properly past 8400 tiles (the far right side). This happens even with floors/carpets "disabled" and I'm assuming it has something to do with how the mod's ModWorld interacts with the game.
 
2 - stuff like mod.TileType<Tiles.BurnedGrass>()
You can make some static ushort variable and set it's value to that in Mod.Load()
3 - You'd be just reading the value straight away instead of calling the property's get method. Properties only look like variables, they're actually a method or a pair of methods, so for the compiler something like.. again.. "mod.TileType<Tiles.BurnedGrass>()" would actually look like "mod_get().mod.TileType<Tiles.BurnedGrass>()"

Simple returning properties aren't really performance eating, but you're around draw code, which is called a shtton of times every frame. Any microoptimizations are important.
4 - That method is just the check code below, except it's wrapped in something that's very slow and useless for you

You can just make your own method out of that, or just copypaste the code around.. that'd let you remove some checks, like active(), since you already have it somewhere if i remember correctly.
Thanks for the information, I'll try and reduce the mod's workload in the next patch.
The carpet disappears randomly after 5-10 minutes, even if I'm still in game
I'll look into that.
Not sure if anyone has reported this, but Chad's Furniture causes worlds larger than 8400x2400 made via TerraCustom to fail generation, or fail loading if CF is loaded after generating the world. I believe this has to do with floors from the error logs. Can we get a version of the mod completely without floors until they're made less buggy?
I haven't really taken into account worlds that are larger than the vanilla world limit, I'll try to iron out these problems in the next update.
Wow, this mod is amazing!!
Have you thought of making more Living Wood objects? Like Re-skinning the living wood for Shadewood/Ebanwood/Boreal/Pearlwood/Palm wood/Spooky wood and Dynasty wood(I was thinking dynasty wood would be like a bamboo sort of thing, maybe sellable by the traveling merchant since that's how you get anything Dynasty)? I was thinking it would be something like you need a living loom is used with (insert wood type) to make living(type) loom. Living (type) loom is used to make living (type) furniture based on living wood recipes.
I could do that in an update in the near future, thanks for suggesting!
As a suggestion, can we maybe see beds that have been sprited from the foot-end of the tile?
What do you mean exactly?
You can generate the world just fine by doing this, but it still has a major problem. When you play on a world larger than the max vanilla size with Chad's Furniture it will stop rendering properly past 8400 tiles (the far right side). This happens even with floors/carpets "disabled" and I'm assuming it has something to do with how the mod's ModWorld interacts with the game.
If it tries to draw carpets beyond the boundaries of a large world, it will crash or straight up stop drawing altogether. I'll edit the code to be compatible with even larger worlds for the next update. Do you know by chance how large the max size is with TerraCustom?
 
Having suggested you look into Living Wood, I've actually begun working on a living wood mod. It's progressing fairly quickly, although I'm having trouble with the lights (lanterns, lamps, candles, candelabra). I've almost finished the Shadewood stuff (except for the lights and the blocks and walls) so after that it'll just be reskinning for the other woods.

Sorry, I got excited... `:sigh:
 
I believe it's 16800x4800 blocks
Alright, thanks!
Having suggested you look into Living Wood, I've actually begun working on a living wood mod. It's progressing fairly quickly, although I'm having trouble with the lights (lanterns, lamps, candles, candelabra). I've almost finished the Shadewood stuff (except for the lights and the blocks and walls) so after that it'll just be reskinning for the other woods.
Sorry, I got excited... `:sigh:
That's great, that means I don't have to do it :p
If you need any help with the lights, send me a PM.
 
Just wanted to stop by here and show my appreciation for your mod. You've done great working adding things that liven up builds. I can't play without your mod anymore. Buildings look so humdrum without furniture, paintings, and knickknacks to brighten things.

Thank you so much and please keep up the wonderful work. :D
 
Back
Top Bottom