Mods / One-Roof
Author: tui_smuggler
Side: Both
Created: Jan 6th at 12:49 AM
Last modified: 5 days ago
Downloads: 1974
Follow Unfollow 89
Latest file for v1.19.7:
oneroof_0.10.0.zip
1-click install
One roof is a 'single block' multi-roof mod, implementing up to four additional slopes including corners, ridges and eaves. This mod uses an intuitive system based on placement direction to infer the correct roof piece when placing. For ridge and eave block hold ctrl while placing.
In an effort to actually release something and get it out there I have opted to release in a 'beta' state. This essentially means there are known issues that will be addressed in time - though none should be game breaking.
1.0 Release Roadmap
- Tweak eave sizes
- Fix block breaking visuals
- Tweak snow cover for ridges
- Tweak ridge blocks when used in T junction.
- Add thatch block
- Remappable alternate (ctrl) key (If possible)
- Implement additional alternate keys for better control overall (i.e. a seperate key for ridge and eaves allowing certain combinations to become possible).
- Add support for eaves to form inner corners
- Video/Gif showing how it works
Future intended mod support
- BrickLayers
Beyond this I would like to eventually add additional roof types etc. Once the code side is stable enough its just a matter of making the models. Hoping to leverage off some existing models from older now abandoned roofing mods.
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v0.10.0 | 147 | 5 days ago | Show | oneroof_0.10.0.zip | Install now | |
v0.9.9 | 1402 | Jan 15th at 10:38 PM | Show | oneroof_0.9.9.zip | Install now | |
v0.9.8 | 86 | Jan 15th at 7:35 AM | Show | oneroof_0.9.8.zip | Install now | |
v0.9.7 | 181 | Jan 10th at 11:12 PM | Show | oneroof_0.9.7.zip | Install now |
Getting some errors on 1.19.7. See info posted here on Hastebin: https://hastebin.skyra.pw/ratawaxuqu.sql
Running 19.5 stable and I tried to place a two long roof piece from behind one that was placed next to one already placed beside the piece. It also locked me out of the server I used it in so I have to remove the mod entirely to use the server.
Running on 64 bit Windows 10.0.22631.0 with 31962 MB RAM
Game Version: v1.19.4 (Stable)
4/4/2024 1:41:11 PM: Critical error occurred
Loaded Mods: aculinaryartillery@1.1.3, betterdrifters@2.1.3, immersivecorpsedrop@1.0.2, millwright@1.1.4, MoreShingles@0.0.2, nailsmold@1.0.1, primitivesurvival@3.4.7, rooffix@0.0.1, rustcreatures@1.3.0, spedupseeling@1.2.1, translocatorengineeringredux@1.4.9, game@1.19.4, abcsreborn@0.2.0, animationmanagerlib@0.7.2, BedRespawning@1.0.1, beehivekiln@1.5.1, betterruins@0.3.3, carryon@1.7.4, commonlib@2.3.7, electricity@0.0.11, expandedfoods@1.6.8, herbarium@1.1.0, hudclock@3.4.0, sailboat@1.2.8, loreweapons@1.0.1, medievalexpansion@3.13.1, mcrate@1.2.1, nbcartographer@2.0.9, oneroof@0.9.9, petai@2.2.3, prospecttogether@1.3.0, rivers@2.7.0, scythemold@1.0.1, stablesurface@0.0.2, stonebakeoven@1.1.3, storageoptions@1.0.2, creative@1.19.4, vsimgui@1.1.1, survival@1.19.4, wildfarmingrevival@1.1.8, metalrecovery@0.1.19-pre.1, chemistrylib@1.1.5, configlib@1.0.2, electricityextensions@0.0.3, feverstonewilds@1.4.5, fsmlib@0.2.15, helvehammerext@1.6.0, koboldplayermodelport@1.2.6, playercorpse@1.9.0, stonequarry@3.2.1, wildcraftfruit@1.1.1, wildcraftherb@0.0.0, wildcrafttree@1.1.0, kosfire@1.1.3, maltiezfirearms@0.4.3
System.InvalidOperationException: Sequence contains no elements
at System.Linq.ThrowHelper.ThrowNoElementsException()
at System.Linq.Enumerable.MaxFloat[TSource,TResult](IEnumerable`1 source, Func`2 selector)
at Vintagestory.API.Common.EntityPlayer.canPlayEdgeSitAnim() in VintagestoryApi\Common\Entity\EntityPlayer.cs:line 995
at Vintagestory.API.Common.EntityPlayer.onAnimControls(AnimationMetaData anim, Boolean wasActive, Boolean nowActive) in VintagestoryApi\Common\Entity\EntityPlayer.cs:line 930
at Vintagestory.API.Common.EntityAgent.OnGameTick(Single dt) in VintagestoryApi\Common\Entity\EntityAgent.cs:line 491
at Vintagestory.API.Common.EntityPlayer.OnGameTick(Single dt) in VintagestoryApi\Common\Entity\EntityPlayer.cs:line 678
at Vintagestory.Client.NoObf.ClientSystemEntities.OnGameTick(Single dt) in VintagestoryLib\Client\Systems\Entities.cs:line 95
at Vintagestory.Common.GameTickListener.OnTriggered(Int64 ellapsedMilliseconds) in VintagestoryLib\Common\Model\GameTickListener.cs:line 19
at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Common\EventManager.cs:line 81
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 838
at Vintagestory.Client.NoObf.ClientMain.MainGaenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 676
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 651
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 324
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 4/4/2024 1:40:32 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.19.4.0, time stamp: 0x65310000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x0xb2c
Faulting application start time: 0x0x1da86b7182bdb60
Faulting application path: F:\Vintagestory\Vintagestory.exe
Faulting module path: F:\Vintagestory\Lib\openal32.dll
Report Id: 5eb513aa-305f-437d-86e5-a3ac57ae557e
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 3/28/2024 12:20:59 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.19.4.0, time stamp: 0x65310000
Faulting module name: KERNELBASE.dll, version: 10.0.22621.3235, time stamp: 0x2b72307b
Exception code: 0xe0434352
Fault offset: 0x0000000000065b0c
Faulting process id: 0x0x17c4
Faulting application start time: 0x0x1da812a79857452
Faulting application path: F:\Vintagestory\Vintagestory.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: c15e7cff-45b0-4978-af5e-1ac13bea8647
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 3/7/2024 7:39:16 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.19.4.0, time stamp: 0x65310000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x0x376c
Faulting application start time: 0x0x1da70f0f2c6ecfd
Faulting application path: F:\Vintagestory\Vintagestory.exe
Faulting module path: F:\Vintagestory\Lib\openal32.dll
Report Id: 91a4bab8-b48e-44bc-8e8c-e733ccbb85d1
Faulting package full name:
Faulting package-relative application ID: }meLoop(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 730
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 163
at Vintagestory.Client.Scre
Have been super busy lately with work and life. Haven't forgotten about this though.
Just wanted to say that I'd appreciate any crash reports so I can address them. Posting here is probably as good a place as any, if it becomes annoying I'll look at opening a github repo or something for it.
Been having an issue with rare crashes while placing some of the blocks. Looks like the game doesn't always perfectly switch between 1 tall and 2 tall roofs. Still a great mod tho, despite the annoying crashes.
Would be really neat to add diagonal roofs to this. I know that that might be opening a whole other can of worms, but it would be just perfect for tower roofs.
That, as well as having slim roofs that aren't based on the vanilla block shape.
Great work though, it's by far the best roof mod around!
I dont know if it would be possible to make, but being able to change the texture of the "side" of the roof, like how you add another block to a chiseled one, would be amazing. and maybe a possibilty to make the roofs have or not have overhang would be cool.
Awesome work! Is the issue with the outer corner models on the roof blocks on your radar? The vanilla models for outer corner have a flat bottom but the ones in the mod seem to be missing the bottom plane. Pretty minor, but annoying sometimes.
Yes I use Bricklayers, no problem I just wanted to let you know all is well. Game version is 1.19.1
Cpt_C0nfus3d I'm assuming you are using bricklayers or some mod that adds a whole bunch of extra colors. It shouldn't be too much trouble to add support but the other tasks will take precedence.
22.1.2024 12:55:31 [Error] Grid Recipe 'oneroof:recipes/grid/roofing.json': Output Block code oneroof:oneroof-blackclay-free cannot be resolved
22.1.2024 12:55:31 [Error] Grid Recipe 'oneroof:recipes/grid/roofing.json': Output Block code oneroof:oneroof-blurpleclay-free cannot be resolved
22.1.2024 12:55:31 [Error] Grid Recipe 'oneroof:recipes/grid/roofing.json': Output Block code oneroof:oneroof-darkgreyclay-free cannot be resolved
22.1.2024 12:55:31 [Error] Grid Recipe 'oneroof:recipes/grid/roofing.json': Output Block code oneroof:oneroof-greenclay-free cannot be resolved
22.1.2024 12:55:31 [Error] Grid Recipe 'oneroof:recipes/grid/roofing.json': Output Block code oneroof:oneroof-lightclay-free cannot be resolved
22.1.2024 12:55:31 [Error] Grid Recipe 'oneroof:recipes/grid/roofing.json': Output Block code oneroof:oneroof-malachiteclay-free cannot be resolved
22.1.2024 12:55:31 [Error] Grid Recipe 'oneroof:recipes/grid/roofing.json': Output Block code oneroof:oneroof-orangeclay-free cannot be resolved
22.1.2024 12:55:31 [Error] Grid Recipe 'oneroof:recipes/grid/roofing.json': Output Block code oneroof:oneroof-pinkclay-free cannot be resolved
22.1.2024 12:55:31 [Error] Grid Recipe 'oneroof:recipes/grid/roofing.json': Output Block code oneroof:oneroof-purpleclay-free cannot be resolved
22.1.2024 12:55:31 [Error] Grid Recipe 'oneroof:recipes/grid/roofing.json': Output Block code oneroof:oneroof-yellowclay-free cannot be resolved
I noticed the translation for this mod is simple, but I translated it on Crowdin anyway :3
By the way, how is the insulation on these? Or were the insulation issues on vanilla roof blocks fixed already?
VaelophisNyx For low slopes it works somewhat, but standard + high slopes its not working. I'll add it to the to do list!
edit: I have patched the high slopes. The mesh could use a tweak. But as it is it 'works'.
Does this cover the situation where you need to T-junction with a roof ridge? vanilla's roofs don't have that bit
tui_smuggler
Thanks for the fast response, the issue is totally fixed, no trace of it, but rather a funny visual "feature", Thanks for the work done in such a short span time, and here's the vid about that funny "feature" we found: https://youtube.com/live/B-_ZFCKFrE4
I have deleted all releases prior to 0.9.7 as they had major problems with multiplayer. Please let me know if you experience any performance (fps) issues. Note, a little delay on the roof building is to be expected with slow connections on MP games. Performance is very important to me and is the main reason I started this mod (compared to some other fancy roofing mods that ate up all my RAM and took minutes to load a game).
Louskil thanks for the video, very helpful! I will do some multiplayer/networking testing and bugfixing asap (after work when I have some spare time). I have a bit of an idea of what has gone wrong with the mod. Thanks again for posting the video.
tui_smuggler
Thanks for the response! So we got the 9.5 version, and still the crash occurs at the moment the block is placed the log:
Running on 64 bit Windows with 16320 MB RAM
Game Version: v1.18.15 (Stable)
09.01.2024 23:36:22: Critical error occurred in the following mod: oneroof@0.9.5
Loaded Mods: aculinaryartillery@1.0.15, betterbalance@2.1.3, betterruins@0.2.4, immersivecorpsedrop@1.0.1, millwright@1.1.1, MoreShingles@0.0.2, nailsmold@1.0.1, primitivesurvival@3.3.0, rooffix@0.0.1, rpgitemrarity@1.0.4, rustcreatures@1.2.0, spedupseeling@1.2.1, translocatorengineeringredux@1.4.7, game@1.18.15, wildcraft@1.6.6, abcsreborn@0.1.4, animationmanagerlib@0.2.1, BedRespawning@1.0.1, canbeignited@1.1.0, carryon@1.6.1, commonlib@2.2.0, compatmaster@0.0.2, electricity@0.0.10, expandedfoods@1.6.8, fieldsofsalt@1.1.2, hudclock@3.3.0, immersivecrafting@1.1.1, sailboat@1.2.4, justanarrowheadmold@1.0.1, lavoisier@1.3.0, loreweapons@1.0.1, medievalexpansion@3.11.1, oneroof@0.9.5, petai@1.8.1, prospecttogether@1.2.4, rustyshell@0.0.11, scythemold@1.0.0, sharablewaypoints@1.3.2, stablesurface@0.0.2, stonebakeoven@1.0.5, storageoptions@1.0.1, temporalsmithing@0.2.2, creative@1.18.15, survival@1.18.15, wildfarmingrevival@1.1.6, metalrecovery@0.1.19-pre.1, chemistrylib@1.1.5, feverstonewilds@1.4.3, foxtaming@1.3.0, fsmlib@0.1.13, helvehammerext@1.5.2, linearpower@0.2.1, playercorpse@1.8.0, stonequarry@3.1.5, kosfire@1.1.3, maltiezfirearms@0.3.9
System.InvalidOperationException: Sequence contains no elements
at System.Linq.ThrowHelper.ThrowNoElementsException()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at oneroof.src.OneRoofEntity.ConstructSecondaryElements() in C:\Users\Daniel\Documents\workspace\vs\version2\one-roof\one-roof\src\oneroofentity.cs:line 617
at oneroof.src.OneRoofEntity.BuildSecondaryStandard() in C:\Users\Daniel\Documents\workspace\vs\version2\one-roof\one-roof\src\oneroofentity.cs:line 283
at oneroof.src.OneRoofEntity.BuildSecondary() in C:\Users\Daniel\Documents\workspace\vs\version2\one-roof\one-roof\src\oneroofentity.cs:line 234
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 757
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 200
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 668
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 643
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 77
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 313
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 129
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
I guess it's just not backwards compatible(for multiplayer at least, as the problem may just be on the networking), but i doubt it(it being not backwards compatible). Anyways, i wish you luck in that future endeavor of testing related stuff. All i can provide right now is probably a video of how we produced such a bug\crash to occur in our server. https://youtu.be/s6n8qw26y-A (Sorry for our constant rambling as we try our best to guess the source of the issue :D)
Would be a nice feature to be able to make not shingle part (like sides and other parts of the models) to have different texture, ideally one that player can choose to match surrounding blocks
Ruyeex
I hope it would rather become an extension for this mod that just adds more variation, cause the core mechanic here is a must-have one
The mod more roofing isn't dead since it will include more types of roof soon.
But wow...
I might even wanted to have more roof types soon like the ones I wanted to ask Catasteroid to add more metal roofing tiles
Louskil thanks for bringing this to my attention. So if I understand correctly, a 2nd player placing a block caused your client to crash, but the 2nd player was unaffected? Sounds like some fun networking race condition. See 0.9.5, has a patch that should stop client crashing where it did (in theory).
It will be hard for me to reproduce however I plan to do some live dedicated server testing with a small group in the near future which will hopefully allow me to sort out any crashing edge cases. I have been testing almost exclusively in creative single player.
For everyone else, just beware this is still unstable for multiplayer.
Louskil Your game version doesn't match the mod version...
Was running it with a friend of mine on 1.18.15, causes that crash log to appear once one of the crest blocks is used by the said friend:
Running on 64 bit Windows with 16320 MB RAM
Game Version: v1.18.15 (Stable)
09.01.2024 02:14:23: Critical error occurred in the following mod: oneroof@0.9.3
Loaded Mods: aculinaryartillery@1.0.15, betterbalance@2.1.3, betterruins@0.2.4, immersivecorpsedrop@1.0.1, millwright@1.1.1, nailsmold@1.0.1, primitivesurvival@3.3.0, rooffix@0.0.1, rpgitemrarity@1.0.4, rustcreatures@1.2.0, spedupseeling@1.2.1, translocatorengineeringredux@1.4.7, game@1.18.15, wildcraft@1.6.6, abcsreborn@0.1.4, animationmanagerlib@0.2.1, BedRespawning@1.0.1, canbeignited@1.1.0, carryon@1.6.1, commonlib@2.2.0, compatmaster@0.0.2, electricity@0.0.10, expandedfoods@1.6.8, fieldsofsalt@1.1.2, hudclock@3.3.0, immersivecrafting@1.1.1, sailboat@1.2.4, justanarrowheadmold@1.0.1, lavoisier@1.3.0, loreweapons@1.0.1, medievalexpansion@3.11.1, oneroof@0.9.3, petai@1.8.1, prospecttogether@1.2.4, rustyshell@0.0.11, scythemold@1.0.0, sharablewaypoints@1.3.2, stablesurface@0.0.2, stonebakeoven@1.0.5, storageoptions@1.0.1, temporalsmithing@0.2.2, creative@1.18.15, survival@1.18.15, wildfarmingrevival@1.1.6, metalrecovery@0.1.19-pre.1, chemistrylib@1.1.5, feverstonewilds@1.4.3, foxtaming@1.3.0, fsmlib@0.1.13, helvehammerext@1.5.2, linearpower@0.2.1, playercorpse@1.8.0, stonequarry@3.1.5, kosfire@1.1.3, maltiezfirearms@0.3.9
System.InvalidOperationException: Sequence contains no elements
at System.Linq.ThrowHelper.ThrowNoElementsException()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at oneroof.src.OneRoofEntity.ConstructElementsStandard() in C:\Users\Daniel\Documents\workspace\vs\version2\one-roof\one-roof\src\oneroofentity.cs:line 407
at oneroof.src.OneRoofEntity.BuildStandard() in C:\Users\Daniel\Documents\workspace\vs\version2\one-roof\one-roof\src\oneroofentity.cs:line 242
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 757
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 200
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 668
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 643
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 77
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 313
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 129
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
One thing to clarify, the server is a dedicated host on a rented server, but my friend doesn't crash himself in the process. Disregarding that, good job on that neat roof building option expansion!
I wonder if it would be simpler to place roof blocks it the single-block used "tool modes" instead of special hotkeys.
Looks nice!
If you can make a "thin" roof like this, which has a customizable wall material to look good from the side, then it will be absolutely gorgeous.