Mods / In-world Roofing

Tags: #Crafting #Tweak
Author: crupette
Side: Both
Created: Apr 20th at 11:24 AM
Last modified: 5 days ago
Downloads: 1262
Follow Unfollow 127

Recommended download (for Vintage Story v1.20.10):
inworldroofing_2.1.0.zip  1-click install


SINCE 2.0.0 THE MODID HAS CHANGED.

If you installed this mod before version 2.0.0, make sure to manually remove the old version from your mods list.

 

I believe that, one day, Vintagestory can be played without ever interacting with the crafting grid. This is just one small step towards that goal.

 

This mod adds a crafting mechanic for creating roofing blocks in a more immersive way.
To make a thatch frame, press F while looking at a flat block to bring up the tool modes menu.

Recipe changes:

Thatch
Block Old Recipe (average) New Recipe
Slanted thatch roofing

4x Thatch OR Dry grass

4x Stick

4x Thatch OR Dry grass

Thatch roof bottom

4x Thatch OR Dry grass

2x Stick

2x Thatch OR Dry grass

Thatch roofing corner (inner)

6x Thatch OR Dry grass

5x Stick

4x Thatch OR Dry grass

Thatch roofing corner (outer)

6x Thatch OR Dry grass

3x Stick

2x Thatch OR Dry grass

Thatch roof tip

8x Thatch OR Dry grass

2x Stick

1x Thatch OR Dry grass

Thatch roof top

4x Thatch OR Dry grass

3x Stick

3x Thatch OR Dry grass

Thatch roof half (left/right)

4x Thatch OR Dry grass

2x Stick

2x Thatch OR Dry grass

Thatch roof ridge

6x Thatch OR Dry grass

3x Stick

3x Thatch OR Dry grass

Thatch roof ridge end

6x Thatch OR Dry grass

2x Stick

2x Thatch OR Dry grass

Thatch roof ridge half (left/right)

6x Thatch OR Dry grass

2x Stick

2x Thatch OR Dry grass

Clay shingle
Block Old Recipe (average) New recipe
Slanted clay shingle roofing 1.5x Clay shingle

3x Firewood

2x Clay shingle

Clay shingle roof bottom 1.5x Clay shingle

3x Firewood

1x Clay shingle

Clay shingle roofing corner (inner) 1.5x Clay shingle

4x Firewood

2x Clay shingle

Clay shingle roofing corner (outer) 1.5x Clay shingle

2x Firewood

1x Clay shingle

Clay shingle roof half (left/right) 1.5x Clay shingle

1x Firewood

1x Clay shingle

Clay shingle roof ridge 3x Clay shingle

1x Firewood

1x Clay shingle

Clay shingle roof ridge end 3x Clay shingle 1x Firewood

1x Clay shingle

Clay shingle roof ridge half (left/right) 3x Clay shingle

1x Firewood

1x Clay shingle

Clay shingle roof top 1.5x Clay shingle

1x Firewood

1x Clay shingle

Clay shingle roof tip 2x Clay shingle

1x Firewood

1x Clay shingle

 

One day I want to rework these recipes to be more in-line with their models, but the vanilla-esque recipes work fine for now.

Wooden
Block Old recipe (average) New recipe
Slanted wooden roofing 6x Board 5x Board
Wooden roof bottom 6x Board 4x Board
Wooden roof corner (inner) 6x Board 5x Board
Wooden roof corner (outer) 6x Board 4x Board
Wooden roof half (left/right) 6x Board 3x Board
Wooden roof ridge 6x Board 5x Board
Wooden roof ridge end 6x Board 3x Board
Wooden roof ridge half (left/right) 6x Board 3x Board
Wooden roof top 6x Board 4x Board
Wooden roof tip 8x Board 3x Board

Compatibility:

Art of Growing

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v2.1.0 181 5 days ago Show inworldroofing_2.1.0.zip 1-click install
v2.0.2 331 May 3rd at 11:04 AM Show inworldroofing_2.0.2.zip 1-click install
v2.0.1 97 May 2nd at 1:28 AM Show inworldroofing_2.0.1.zip 1-click install
v2.0.0 40 May 1st at 5:24 PM Show inworldroofing_2.0.0.zip 1-click install
v1.1.2 150 Apr 25th at 11:34 PM Show inworldthatching_1.1.2.zip 1-click install
v1.1.1 71 Apr 24th at 11:29 PM Show inworldthatching_1.1.1.zip 1-click install
v1.1.0 126 Apr 22nd at 2:35 PM Show inworldthatching_1.1.0.zip 1-click install
v1.0.0 264 Apr 20th at 1:20 PM Show inworldthatching_1.0.0.zip 1-click install

28 Comments (oldest first | newest first)

💬 crupette , May 14th at 7:30 PM

Yassaff I am currently working on the rest of the roofing blocks. Expect them sometime this week

💬 Yassaff, May 9th at 4:03 PM

Hello! I realy love this mod and I was wonderring if there are any plans for the wooden planks roof variants?

💬 crupette , May 3rd at 11:04 AM

MrSandman Thanks for telling me! I fixed it in the newest patch

💬 MrSandman, May 3rd at 6:17 AM

Placing cables from the Electricity mod onto thatch roofs results in a crash. I have not tested it on clay shingle roofs.

 

Edit: Placing any block under already constructed roof pieces results in a crash.

💬 crupette , May 2nd at 4:44 PM

Javidac More Piles is 100% compatible. I play with it myself and use it with this mod. You need to change the toolmode on the things you want to place to "place on ground"

oneil one roof is inherently incompatible with this mod. It would take too much effort to make it compatible

💬 Javidac, May 2nd at 1:24 PM

Will there eventually be compatibility with the More Piles mod? It makes it a little hard to start making roofs when the controls are the same for starting a roof frame and making a pile of sticks.

A patch like that would make your roof mods permanent residents in my mods folder. :D

💬 oneil, May 2nd at 7:18 AM

Hi ! great ideas ! will it work with the one roof mod ? 

💬 crupette , May 2nd at 1:25 AM

Bartandules I'll consider both when I get done with some more variants.

💬 crupette , May 2nd at 1:08 AM

ParallelPenguins That's something I didn't expect. I'll get a patch out for that soon.

💬 ParallelPenguins, May 1st at 10:25 PM

Buildings that generate with roofing have all the roof blocks facing one way. So if a mod adds a trader's house, or any naturally generated roof really, is gonna be a bit wonky.

💬 Bartandules, May 1st at 8:54 PM

I'm glad to see shingles have been added to roof types now! Are there any plans to add mod support for mods that add shingles or other types of firewood, like Clayworks or wildcraft trees?

💬 Dusktracer, May 1st at 12:33 PM

crupette Ah excellent! Thanks for the info. Looking forward to playing with this more :).

💬 crupette , Apr 27th at 1:44 PM

Yootah Thank you for the detailed report! I'm working on a complete rewrite at the moment, so this should be patched in the next release.

💬 Yootah, Apr 26th at 6:11 PM

Edit-2: there still is some sort of incompatibility even with "CtrlKey" configuration below, or without. An NRE on this mod's side in GetToolMode, /home/jon/prg/vintagestory/inworld-roofing/inworldthatching/src/CollectibleBehavior/BehaviorFrameMaterial.cs:line 234

Crash occurs when:

  • Ctrl+Shift+RClick placed stick pile exceeds some number (24? 32? 40? differs each time) of items, on final placement
Stack trace
System.NullReferenceException: Object reference not set to an instance of an object.
at InWorldThatching.CollectibleBehaviorFrameMaterial.GetToolMode(ItemSlot slot, IPlayer byPlayer, BlockSelection blockSelection) in /home/jon/prg/vintagestory/inworld-roofing/inworldthatching/src/CollectibleBehavior/BehaviorFrameMaterial.cs:line 234
at InWorldThatching.CollectibleBehaviorFrameMaterial.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handHandling, EnumHandling& handling) in /home/jon/prg/vintagestory/inworld-roofing/inworldthatching/src/CollectibleBehavior/BehaviorFrameMaterial.cs:line 87
at Vintagestory.API.Common.CollectibleObject.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1291
at Vintagestory.API.Common.CollectibleObject.OnHeldUseStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, Boolean firstEvent, EnumHandHandling& handling) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1127
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, EnumHandHandling& handling) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 844
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 820
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 454
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 85
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 188
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 992
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 242
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 695
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 670
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
  • And also when Shift placing sticks into pit kiln, same exception location

 

Edit-1: the player can fix this manually if they tweak More Piles' config as follows:

ModConfig/MorePilesConfig.json

This way making a stick pile now requires pressing both Ctrl + Shift, whereas frames can be placed with just Shift click.


Compatibility with More Piles would be cool.

Currently with both active and on Shift + Right Click the making of stick pile from that mod takes priority. Perhaps explicitly disable piling for sticks that are in frame mode?

💬 crupette , Apr 24th at 10:39 PM

Dusktracer The sticks don't stack because I had to use some item metadata to store the placement modes. There should be an additional tooltip on the unstacked sticks telling you how to clear the attribute data. The straw dropping instead of dry grass is a bug though. I'll get a patch out for that soon

💬 Dusktracer, Apr 24th at 8:58 PM

Love the concept of this mod! Found one small issue when playing around with it so far. When I break a thatched roof, I get back sticks that don't stack with other sticks and it returns straw rather than dry grass. You can get the sticks to stack again by placing them on the ground and picking them back up, but the straw transformation makes it hard to get the same color on my roof when I messed up a corner XD.

💬 Aloy, Apr 24th at 1:44 AM

crupette i believe so? its the one you stick hay sticks and a fuel source plus clay in.

💬 crupette , Apr 24th at 12:52 AM

Aloy I'm not getting that crash on my side. Do you mean the pitkiln? Can you DM me on Discord the list of mods you're using?

💬 Aloy, Apr 23rd at 3:33 PM

it crashes when making firepits now, specifically when i try to place the second layer of sticks.

💬 crupette , Apr 22nd at 1:07 PM

wildejackson Iiell wojtek16 I'll try to make that happen, doesn't look too bad...

💬 terci, Apr 22nd at 1:06 AM

I love this vision for the game, please keep going!

💬 wojtek16, Apr 21st at 11:54 PM

I 3rd that! I feel like this would work perfectly!

Beautiful mod!

💬 Iiell, Apr 21st at 6:52 PM

I would like to second the suggestion of wildejackson

💬 wildejackson, Apr 21st at 10:42 AM

This may sound annoying but is there any possibility of compatability with art of growing? It adds actual thatch (As opposed to dry grass/hay) blocks as well as straw blocks. No idea how practical it would be to copy the behavour over to those blocks.

💬 Neti, Apr 20th at 3:25 PM

Brilliant. This is a good direction. Keep up the good work.

💬 Brady_The, Apr 20th at 3:25 PM

Dzieciol That option already exists. The old recipes are usable when you deactive the mod or don't install it.

(The current Vanilla solution and this mods solution are so fundamentally different, that an "either, or" option doesn't make sense.)

💬 Dzieciol, Apr 20th at 3:00 PM

I love the concept,but there should be an option to bring back old recipe.

💬 Endurance, Apr 20th at 1:55 PM

I've been thinking about something like this for a while! Maybe it can even be expanded to all types of roof!

 (edit comment delete)