Mods / Linear Power Continued

Tags:
Technology Crafting
Authors:
Zalea, Quaan
Side:
Both
Created:
Nov 19th 2025 at 11:02 PM
Last modified:
Dec 14th 2025 at 5:28 AM
Downloads:
800
Latest release (for Vintage Story 1.21.5 - 1.21.6, outdated):
vintagestory-linearpower-cont-0.4.1.zip  1-click install

See https://mods.vintagestory.at/linearpower for details.

 

This is just recompiled so it works[citation needed]

 

Other than that, no changes, besides fixing a null reference exception when Immersive Sawing mod is used.

 

Known Issues:

 

  • Sometimes the saw is visually misaligned with the sawmill
  • One client side crash I haven't been able to reproduce yet (when inserting a log with Immersive Sawing enabled for the first time)
  • Logs dropping in from a hopper doesn't work sometimes. Can be worked around by removing it and manually inserting the block into the sawmill.

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
0.4.1 linearpowercont
1.21.5 - 1.21.6
640 Nov 28th 2025 at 10:03 PM vintagestory-linearpower-cont-0.4.1.zip 1-click install

Try to fix NRE reported by foxtrot 

0.4.0 linearpowercont 160 Nov 19th 2025 at 11:07 PM vintagestory-linearpower-cont-0.4.0.zip 1-click install
  • Recompiled for 1.21.5
  • Fixed a NRE when Immersive Sawing is enabled

8 Comments (oldest first | newest first) (threaded | flat)

Zalea , Jun 28th at 6:57 PM

Arthum sorry for the late reply! I haven't been playing VS much but I'll take a look and see if I can at least recompile it for the latest patch!

Arthum, May 4th at 10:30 PM

Any possibility you might update this for 1.22?

Zalea , Nov 29th 2025 at 10:03 AM

Foxtrot88 yay! glad it's working for you!! :)

Foxtrot88, Nov 29th 2025 at 9:56 AM (modified Nov 29th 2025 at 9:58 AM)

Second update: I downgraded the mod, deleted my instance of the slider crank I had, went into creative, spawned myself a new one, and placed it. It works properly now. The issue was with pre-existing, pre-patched cranks. Connected it to the windmill, it's working wonders now. Thank you SO MUCH!!!

EDIT: Sorry, the image was enormous.

image

Foxtrot88, Nov 29th 2025 at 9:43 AM (modified Nov 29th 2025 at 9:51 AM)

Zalea I'm sorry but now it crashes trying to even LAUNCH the game. Here's a new crash report.

Crash Report
System.NullReferenceException: Object reference not set to an instance of an object.
at sawmill.SliderCrankRenderer.UpdateLightAndTransformMatrix(Int32 index, Vec3f distToCamera, Single rotRad, IMechanicalPowerRenderable dev) in G:\Programming\VS\VSMods\LinearPower\src\renderers\SliderCrankRenderer.cs:line 79
at Vintagestory.GameContent.Mechanics.MechBlockRenderer.UpdateCustomFloatBuffer() in VSSurvivalMod\Systems\MechanicalPower\Renderer\MechBlockRenderer.cs:line 57
at sawmill.SliderCrankRenderer.OnRenderFrame(Single deltaTime, IShaderProgram prog) in G:\Programming\VS\VSMods\LinearPower\src\renderers\SliderCrankRenderer.cs:line 175
at Vintagestory.GameContent.Mechanics.MechNetworkRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in VSSurvivalMod\Systems\MechanicalPower\Renderer\MechNetworkRenderer.cs:line 105
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 257
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 827
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 922
at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 751
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 172
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 719
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 663
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 338
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 133
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Zalea , Nov 28th 2025 at 10:04 PM

Foxtrot88 thanks for the bug report. Couldn't repro but I added some code, lmk if it happens again.

Foxtrot88, Nov 28th 2025 at 2:50 PM
Crash Report
System.NullReferenceException: Object reference not set to an instance of an object.
at sawmill.SliderCrankRenderer.UpdateLightAndTransformMatrix(Int32 index, Vec3f distToCamera, Single rotRad, IMechanicalPowerRenderable dev) in G:\Programming\VS\VSMods\LinearPower\src\renderers\SliderCrankRenderer.cs:line 79
at Vintagestory.GameContent.Mechanics.MechBlockRenderer.UpdateCustomFloatBuffer() in VSSurvivalMod\Systems\MechanicalPower\Renderer\MechBlockRenderer.cs:line 48
at sawmill.SliderCrankRenderer.OnRenderFrame(Single deltaTime, IShaderProgram prog) in G:\Programming\VS\VSMods\LinearPower\src\renderers\SliderCrankRenderer.cs:line 175
at Vintagestory.GameContent.Mechanics.MechNetworkRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in VSSurvivalMod\Systems\MechanicalPower\Renderer\MechNetworkRenderer.cs:line 105
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 257
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 922
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 172
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 719
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 663
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 338
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 133
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Foxtrot88, Nov 28th 2025 at 2:03 PM

Placed an oak slidercrank on the floor, not even connected to anything, and game crashed