Mods / Zippy's Re-seeding Reeds

Tags:
Crafting QoL Tweak
Author:
ZippyWonderdust
Side:
Server
Created:
Mar 2nd 2025 at 4:51 PM
Last modified:
Sep 28th 2025 at 1:11 AM
Downloads:
4506
Latest release (for Vintage Story 1.21.0 and 1.21.1, outdated):
zippysreseedingreeds_2.1.0.zip  1-click install

This mod introduces a simple game mechanic for propagating the reed plants tule, cattails, papyrus, and brown sedge. When the tops (not the roots) are harvested they have a 20% chance to drop a single root/plant in addition to their normal drops.  Think of it as finding a new plant shoot in amongst the existing stems.  This way you can gradually increase your crop without having to search far and wide looking for specimens to transplant.

This mod pairs well with the Zippy's Thatch Patch mod.

 

Version 2.0.0 changes:

-Recieved a few complaints about being inundated with too many roots when harvesting in bulk with a scythe, so added C# code to override default reed handling. Now reed tops only drop roots when harvested with a knife; not when harvested with a scythe.

-Slightly de-buff drop rates of roots from 0.20 down to 0.15.

 

Version 2.1.0 changes

-Recompile for 1.21.x on DotNet 8.0

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
2.1.0 zippysreseedingreeds 2090 Sep 28th 2025 at 1:11 AM zippysreseedingreeds_2.1.0.zip 1-click install

Recompile for 1.21.x on DotNet 8.0

2.0.0 zippysreseedingreeds
1.20.11 - 1.20.12
1471 May 29th 2025 at 11:24 PM ZippysReseedingReeds_2.0.0.zip 1-click install

Recieved a few complaints about being inundated with too many roots when harvesting in bulk with a scythe, so added C# code to override default reed handling. Now reed tops only drop roots when harvested with a knife; not when harvested with a scythe.

Slightly de-buff drop rates of roots from 0.20 down to 0.15.

1.0.0 zippysreseedingreeds
1.20.5 - 1.20.7 1.20.8 - 1.20.10
945 Mar 2nd 2025 at 4:52 PM ZippysReseedingReeds-VS1.20.4-1.0.0.zip 1-click install

First release


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

SoftLittleFox, May 19th at 12:08 AM

Is there going to be an update for 1.22?

CaptainFoxx, May 3rd at 5:48 PM

Whoop, this mod seems to crash for 1.22x when I try harvesting cattails!

 

Heres my crashlog:

Crash Report
Running on 64 bit Windows 10.0.26200.0 with 32608 MB RAM
Game Version: v1.22.2 (Stable)
5/3/2026 10:45:26 AM: Critical error occurred in the following mod: zippysreseedingreeds@2.1.0
Loaded Mods: abandonedkingdom@0.0.4, walkingstick@3.0.0, agreenlupine@1.0.4, bedrespawn@1.1.0, flowers@1.0.1, healthiertrees@1.0.0, interestingoregen@2.3.5, jsonpatcheslib@1.5.2, just3roots@0.6.0, millwright@1.3.3, overhaullib@2.0.6, plainsandvalleys@1.0.13, primitivesurvival@5.0.5, scrapsrevived@2.2.0, fseasonedfirewood@1.2.5, soaplyeandbloom@1.3.6, game@1.22.2, vsimgui@1.2.4, weedgardens@1.0.1, wlts@1.0.0, zadjustments@1.1.0, alchemy@2.0.0-rc.1, allclasses@2.0.9, attributerenderinglibrary@3.1.0, augplantlib@0.0.6, egocaribautomapmarkers@5.0.2, betterruins@0.6.0, blocksoverlay@4.10.4, carryon@1.14.0, censership@1.0.5, configlib@1.10.11, farseer@1.4.0, foodshelves@3.0.1, spawngiantwaterlilies@1.0.1, herbarium@1.4.2-rc.1, jaunt@3.0.0-rc.3, kscartographytable@1.0.4, ndlwoodentorchholder@3.0.1, playermodellib@1.18.0-pre.10, th3dungeon@0.5.0, creative@1.22.2, survival@1.22.2, watersheds@6.1.1, windchimes@1.4.1, xlibfork@1.0.2, zippysreseedingreeds@2.1.0, rlldtco0001@2.1.0, draconis@1.4.0-pre.2, koboldrdx@1.4.1, newworldcrops@0.0.19, wildcraftfruit@1.4.61, xskillsfork@1.0.14, xskillsgilded@1.3.23
Involved Harmony IDs: XSkillsPatch
System.MissingMethodException: Method not found: 'Vintagestory.API.Common.AssetLocation Vintagestory.API.Common.BlockSounds.GetBreakSound(Vintagestory.API.Common.IPlayer)'.
at MonoMod.Core.Interop.CoreCLR.V60.InvokeCompileMethod(IntPtr functionPtr, IntPtr thisPtr, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
at MonoMod.Core.Platforms.Runtimes.Core60Runtime.JitHookDelegateHolder.CompileMethodHook(IntPtr jit, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
at ZippysReseedingReeds.Blocks.BlockBetterReeds.OnBlockBroken(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier) in /home/rling/Documents/Projects/Vintagestory/ModDev/ZippysReseedingReeds/ZippysReseedingReeds/Blocks/BlockBetterReeds.cs:line 11
at ZippysReseedingReeds.Blocks.BlockBetterReeds.OnBlockBroken(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier) in /home/rling/Documents/Projects/Vintagestory/ModDev/ZippysReseedingReeds/ZippysReseedingReeds/Blocks/BlockBetterReeds.cs:line 11
at Vintagestory.API.Common.CollectibleObject.OnBlockBrokenWith_Patch1(CollectibleObject this, IWorldAccessor world, Entity byEntity, ItemSlot itemslot, BlockSelection blockSel, Single dropQuantityMultiplier)
at Vintagestory.Client.NoObf.ClientMain.OnPlayerTryDestroyBlock(BlockSelection blockSelection) in VintagestoryLib\Client\ClientMain.cs:line 1799
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.ContinueBreakSurvival(BlockSelection blockSelection, Block block, Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 810
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 601
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 87
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 243
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1062
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 251
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 783
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 686
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 354
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Joyhop, Mar 29th at 11:30 AM

Pervy_Sage

If you have the ability to open the .json. Extract the folder and open VintagestoryData>Mods>zippysreseedingreeds_2.1.0.zip>assets>zippysreseedingreeds>patches.

You can then copy the code for each block and change the "tool": "knife" to "tool": "scythe". I tested it and it works perfectly 1.21.16.

image

Pervy_Sage, Oct 15th 2025 at 10:17 PM (modified Oct 16th 2025 at 12:17 PM)

Would you be willing to consider making the extra roots from a scythe a part of an config please? Of course having the default set to off so nothing is changed for those who don't like the root spam. Thank you.

LaliaRose, Sep 29th 2025 at 2:24 AM (modified Sep 29th 2025 at 2:25 AM)

@Fantast - Ditto! And thank you Zippy!

Fantast, Sep 28th 2025 at 1:28 AM

thank you for the update! definitely a mod i'd been missing in 1.21 <3

K1ll3rM, Sep 8th 2025 at 1:03 PM

Would be awesome if this would get an update!

Synx, Aug 28th 2025 at 6:37 PM

Hello and thank you for making this mod! i came here to let you know about a crash thats been happening, but it seems someone beat me to it, when ever i go to harvest brown sedge my game crashes, it seems what ever changed in the new update doesn't get along with how this mod makes plants drops roots in addition to the normal drop, once again thanks for the great mod!

Grimald, Aug 8th 2025 at 11:21 AM

Crashes game on 1.21.rc-x

 

Crash Report

08/08/2025 13:20:30: Critical error occurred in the following mod: zippysreseedingreeds@2.0.0
Loaded Mods: ATadMoreLight@1.0.0, birdseye@1.0.0, clickuptorches@1.1.1, bovinae@0.2.4, caninae@1.0.32, chelonioidea@1.0.2, felinae@0.2.10, iniidae@0.1.3, machairodontinae@1.0.25, manidae@1.0.16, meiolaniidae@0.1.6, pantherinae@1.1.27, rhinocerotidae@1.0.20, sirenia@1.0.22, viverridae@1.0.4, vombatidae@0.4.2, hideplayername@2.1.4, JacksFirewood@1.1.0, less gamey bears@1.0, nobearjetpacks@1.0.2, nograssontilledsoil@1.0.2, noisybears@1.1.0, NoNegativeTraits@1.0.1, packyourshovel@1.0.5, spikes@1.0.0, swifttime@1.1.0, translocatormap@1.0.0, game@1.21.0-rc.3, vsimgui@1.1.8, _no_anymobextraspawns@1.0, _no_bell@1.0, _no_bellmini@1.0, _no_bowtorn@1.0, _no_Drifter@1.0, _no_locust@1.0, _no_locusthacked@1.0, _no_shiver@1.0, autolootreforged@1.0.4, bloodystory@0.2.2, carryon@1.10.0-rc.1, configlib@1.5.3, fromgoldencombs@1.9.0, hydrateordiedrate@2.2.1, minimalmapping@2.3.4, nolowhealthshaking@1.0.1, rebalancedfuel@1.4.0, remotetradercheckmod@0.2.3, substrate@1.1.2, toolsmith@1.2.0-rc.1, variantmeals@1.1.0, vigor@0.3.3, creative@1.21.0-rc.3, survival@1.21.0-rc.3, woodenfortifications@2.0.9, zippyscroptweaks@1.2.0, zippysreseedingreeds@2.0.0
System.MissingMethodException: Method not found: 'Void Vintagestory.API.Common.Block.SpawnBlockBrokenParticles(Vintagestory.API.MathTools.BlockPos)'.
at ZippysReseedingReeds.Blocks.BlockBetterReeds.OnBlockBroken(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
at Vintagestory.API.Common.CollectibleObject.OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot itemslot, BlockSelection blockSel, Single dropQuantityMultiplier) in VintagestoryApi\Common\Collectible\Collectible.cs:line 620
at Vintagestory.Client.NoObf.ClientMain.OnPlayerTryDestroyBlock(BlockSelection blockSelection) in VintagestoryLib\Client\ClientMain.cs:line 1757
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.ContinueBreakSurvival(BlockSelection blockSelection, Block block, Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 809
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 601
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 87
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1024
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 250
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 760
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 113
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 337
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

 

Cyberboi, Jun 22nd 2025 at 9:55 PM

Love this mod, but do you think it would be possible to make that scythe drop change a config file?

ZippyWonderdust , May 17th 2025 at 9:43 PM

HoosierDaddy

Feel free to alter the mod to your taste, but be aware that there is a reason why I didn't put the extra drops on harvesting the roots.  It opens up an early-game exploit where you can essentially give yourself infinite food (in the form of cattail roots) by planting and harvesting the same cattail root over and over again without any delay while keeping any extra roots that drop.  All it costs you is some knife durability.  Putting the extra drop on the cattail top instead forces you to wait until the root has grown into a full plant before getting any extra drops.

TaimatCompany, May 15th 2025 at 3:15 PM

ha! great minds think alike, lol. My mod does pretty much the same thing. I love your thatch patch though- nice job! I think i'll use that one for sure and make sure my mods are compatible with it :)

Asil, Apr 10th 2025 at 11:11 PM

How easy is it to replant? I never figured that out in the game. 

HoosierDaddy, Mar 24th 2025 at 5:32 PM

Stole your idea. Tweaked it, really. I didn't like the fact that scything reeds for skeps ends up with stacks of roots, so I put the extra drops on harvesting roots. You have to make the deliberate choice to do the slower harvesting of roots, and sometimes you get an extra one.