Mods / One-Roof
Author: tui_smuggler
Side: Both
Created: Jan 6th at 12:49 AM
Last modified: 2 days ago
Downloads: 5368
Follow Unfollow 139
Latest file for v1.19.8:
oneroof_0.11.4.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
- Fix block breaking visuals
- Tweak snow cover for ridges
- Tweak ridge blocks when used in T junction.
- Add support for eaves to form inner corners
- Video/Gif showing how it works
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.
v0.11.3
- Small tweaks
- Removed snow variants - NOTE THIS WILL CAUSE EXISTING SNOW COVERED BLOCKS TO '?'
Either only update in summer or use creative mode to fix things.
I have fixed snow on my end - there is however an outstanding bug that causes issues ('invisible' blocks). This is not something I can fix and lies in the VS side of things. I will enable snow cover when this is addressed.
v0.11.2
- Fixes the main issues with snow - Still need to fix particle collision (snow flakes hitting invisible cube)
- Rollback to previous release if the issue persists (Snow is hard to test for)
v0.11.1
- Remove snow cover to give time for fix.
v0.11.0
- Adds compatibility with bricklayers
- Also fixed sound + blocktype for thatch roofing
v0.10.0
Rebuilt with latest stable release.
- Added thatch variant (only allows shallow slopes by design)
- Fixed ridge T-Junctions
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v0.11.4 | 138 | 2 days ago | Show | oneroof_0.11.4.zip | Install now | |
v0.11.3 | 1406 | Jul 1st at 5:46 AM | Show | oneroof_0.11.3.zip | Install now | |
v0.11.2 | 1405 | May 2nd at 9:33 AM | Show | oneroof_0.11.2.zip | Install now | |
v0.11.1 | 65 | May 2nd at 8:23 AM | Show | oneroof_0.11.1.zip | Install now | |
v0.11.0 | 127 | Apr 29th at 7:51 AM | Show | oneroof_0.11.0.zip | Install now | |
v0.10.0 | 266 | Apr 22nd at 1:50 AM | Show | oneroof_0.10.0.zip | Install now | |
v0.9.9 | 1462 | Jan 15th at 10:38 PM | Show | oneroof_0.9.9.zip | Install now | |
v0.9.8 | 122 | Jan 15th at 7:35 AM | Show | oneroof_0.9.8.zip | Install now | |
v0.9.7 | 219 | Jan 10th at 11:12 PM | Show | oneroof_0.9.7.zip | Install now |
Lets not celebrate until we can be sure the mod isn't breaking! As for the textures - I like the idea. I actually explored the posibility a while back, iirc there was no way to dynamically update textures (without adding new blocks for every possible combination). I could be wrong though so i'll look into it again.
edit: Looks like it is possible. I'll see what I can do.
THANK YOU SO MUCH! This was the one notification I was looking for everyday here. TT_TT
By the way, is there a way (whenever possible, since it sounds complicated) to have the lower part of the roof to be the sabe texture as the roof below? Since we can't use chizel, it would haelp a lot with the visuals.
Managed to reproduce and I think I have fixed it - but I am not 100% certain. So far I havent been able to break it - but you guys will let me know. Thanks everyone.
Just wanted to come back with a bit more info, I just slept and the oneroof slopes, the ones that alter what the slope looks like both the steeper versions as well as the flatter versions, actually disappeared this time. It's purely visual, but just wanted to come in and mention that since most previous comments are saying that it always happens on only the "normal" slope versions and I just slept in game and came back to half of my roof missing. Though, this time, I only had to break one and ALL of them became visible, unlike the other problem where it usually only makes adjacent ones visible. I hope this helps...
Also, suggestion, have an option to cycle through the variants on an individual tile. It is really nice to have it happen magically, but there are a lot of cases to where I would like to be able to force a shallow roof just for one block to fit the space right.
I can confirm that the issues of the block dissapearing reported earlier very much happens in singleplayer as well, and only occurs on one block slopes(the ones that are the same as the normal roof). It is an entirely visual glitch. As the block is still technically there, and it only needs and update(specifically by a oneroof block), to reappear. This happens to a random block that's part of the roof structure. It happens anytime you re-log into a world in singleplayer. I hope this can help trace. I think a possible solution would be to force the blocks to re-render their mesh whenever they are first visited in a world, instead of a fixed mesh, but I am uncertain as to how your blocks do their mesh so I can't help too much.
I can also concur on the issue of blocks disappearing on servers. I would also agree that it always seems to be the "normal" type of roofing, not any that are changed due to connection.
Can concur on the issue of blocks disapearing. It seems to only be normal sized blocks, ones that can be easily replaced with normal shingle blocks, so it's not a big deal. Also on a server. If you'd like to join my server to try and figure out the issue, you're welcome to. Message me here or on discord. tui_smuggler
Thanks for the messages. So I have been unable to reproduce the issue - I am guessing this is because I have no way to add any latency to the server-client setup. I will look to see if I can find a no-cost solution (I don't want to buy a server just to test this). I am worried the problem stems from the game engine, though that is unconfirmed so far - so please dont start spreading rumors otherwise! :D.
As for bamboo roofing - I can totally add that, its just time consuming and I want to fix the bug(s) before spending any more time on this mod - that also goes for the snow bug the engine has issues with.
Hey, dude. Awesome mod! But I'm having the exact same problem as Goosewrld. The blocks simply disapear, but the game acts as if they're still there (I can't place blocks where they should be). Sometimes, it's just a few here and there. Others, is the whole roof. If I destroy one, all the conected roof blocks reapear, so right now it's fixable, even tho it's a pain. It seems to me as if the blocks assume a "position" that doesn't have a mesh or something like that (like when you connect multiple roofs).
Also, I don't know about the other roofs, but the black clay one doesn't appear on the map (it appears as a white block).
The screenshot I wanted to post was 1080p and seemed a little too big, so here's a link to it.
This mod could be perfect but every time I log off and then log back in I end up with holes all over my roof :( Not sure if this is a multiplayer only issue
Is there a plan to eventually do bamboo roofing for the mod?
Otherwise, I adore your work, easily one of my favorite mods, very inuitive to use.
Skyve
Thanks for the backtrace, ill check it out when I have time. This may have to do with an issue I have posted here. The mod shouldn't crash your game though - so i'll look at making the mod more stable/ less error prone when weird stuff happens.
This crash is after teleporting into an area with the roofs present.
Running on 64 bit Windows 10.0.19045.0 with 32699 MB RAM
Game Version: v1.19.8 (Stable)
19-Jul-24 20:57:48: Critical error occurred in the following mod: oneroof@0.11.3
Loaded Mods: aculinaryartillery@1.1.5, backpackpackplus@1.0.3, betterarchery@3.0.0, bettertraders@0.0.7, chiseltools@1.12.3, foundrymod@1.0.0, HangingOilLamps@1.0.1, millwright@1.1.5, moredrifterloot@1.5.4, playeralias@1.1.5, primitivesurvival@3.5.8, richerthandirt@1.2.1, swordz@1.1.8, tinytweaks@1.2.1, translocatorengineeringredux@1.5.0, viesblocks@2.4.8, viescraftmachines@2.3.1, game@1.19.8, xmastimecont@0.2.6, AgeOfConfession@2.0.5, alchemy@1.6.34, ancienttools@1.5.18, animalcages@3.0.2, egocaribautomapmarkers@3.1.0, beehivekiln@1.5.4, betterruins@0.3.6, canjewelry@0.2.32, carryon@1.7.4, commonlib@2.5.0-rc.2, cooperativecombat@1.1.1, expandedfoods@1.6.9, fixhandbookclutter@1.0.5, fromgoldencombs@1.5.1, labeledtrunk@1.0.4, lichenredux@1.8.0, medievalexpansion@3.13.1, oneroof@0.11.3, petai@2.2.6, prospecttogether@1.3.0, rivers@3.1.0, rustboundmagic@1.9.74, sailboat@1.3.1, stillnecessaries@1.1.2, stonebakeoven@1.1.3, creative@1.19.8, vsquest@1.2.0, survival@1.19.8, wildfarmingrevival@1.2.1, woodbarrels@1.1.0, xlib@0.8.6, metalrecovery@0.1.19-pre.1, em@2.6.3, feverstonewilds@1.5.0-rc.2, simplewinddirection@1.0.2, stonequarry@3.3.1, tpnet@1.14.3, vanity@2.2.0, xskills@0.8.8, moreroads@1.5.7
System.InvalidOperationException: Sequence contains no elements
at System.Linq.ThrowHelper.ThrowNoElementsException()
at System.Linq.Enumerable.MaxInteger[T](IEnumerable`1 source)
at oneroof.src.OneRoofEntity.ConstructElementsStandard() in /home/dan/workspace/vs/one-roof/one-roof/src/oneroofentity.cs:line 451
at oneroof.src.OneRoofEntity.BuildStandard() in /home/dan/workspace/vs/one-roof/one-roof/src/oneroofentity.cs:line 263
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 776
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 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
Please excuse the visual glitching (particularily when creating corners). It is a result of changing the netcode - I may be able to improve this and will add it to the list :D
I have been able to reproduce the issue - relatively consistently. I believe I have a fix in the works but I will need to do further testing to make sure its working correctly. Ill also look at the bricklayers support for next release. Once the roof is stable I'll look at tweaking small things to get it to match the quality of vanila roofing (particle collisions, snow cover etc).
Edit: I believe I have found a bug in the actual vintagestory code that is partly to blame - will get an update out as soon as it is resolved (assuming it will/can be).
VaelophisNyx
I assume this is a server/client setup. I wish there was something in the game to force the snow updates. I'll see if I can hack something in. Btw the hastebin you posted was emtpy. I'll try find some time to get this working right. A stable version would be great.. alas.
Apparently snow melting off a one roof block causes it to scramble itself
I've installed this mod because I thought the roofing looked awesome and I couldn't be bothered to replicate it with chiseling, but the only problem is I have no idea how to use this mod. I have the latest version installed, but I can't find any blocks or commands in game that allow me to use this mod. I do have Bricklayers installed, but I don't think that would interfere with the vanilla roofing blocks, of which I can't seem to get working with One-Roofing. I may just be overlooking something, but guidance would be appreciated, thanks! :^)
Update: So I decided to do some troubleshooting to see what could be the issue. I thought maybe the Bricklayers mod may have been causing the issue of the missing One-Roof blocks since Bricklayers adds in new roof types and clays. I disable Bricklayers, loaded up a new creative world, and I was able to see the One-Roof blocks, and they were working perfectly fine! I decide afterwards to enable Bricklayers again to confirm that it was the issue, but when I loaded that same creative world, the One-Roof blocks were there along with the Bricklayers variants. I loaded up my survival world afterwards, and every mod was functioning as expected!
tldr: Basically turned Bricklayers off and on again and problem solved! :^)
It appears on a LAN server, clients sometimes become unable to see OneRoof blocks, but can if they have an adjacent block added or removed
Bricklayers' compat needs a bit more work it seems. Colored clay shingle oneroof blocks have bleu-grey clay shingles on the sides
Thanks for bringing this to my attention. it also appears some of my snow 'fallthrough' code no longer works. Something weird happening when it switches between snow and back (I have seen some blocks even get misconfigured).
when snow layers on the roof, the roof vanishes o.o
it comes back when the snow melts but you can fall through the roof it's not there x.x
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.