copygirl Posted September 26, 2019 Report Share Posted September 26, 2019 (edited) Farmland Drops Soil changes the behavior of farmland to drop soil when broken, depending on the nutrients available. This is for those people that got frustrated by losing their precious Terra Preta when wanting to move their farms to a better, fancier place or even their entire base. Well, you can't! Except with the amazing Farmland Drops Soil mod. When you break a farmland block, it will have a chance to drop their respective soil block, depending on the nutrients available. If you wait for the nutrients to fully recover, you always get your soil back. Otherwise, it will pick the lowest nutrient, and adjust the drop chance based on it. For example, a Terra Preta farmland with N=80, P=60, K=40 has a 50% chance to drop the soil block (40 / 80 = 0.5). [ VSModDB ][ GitHub Releases ]Source code is available on GitHub as well. Edited June 18, 2021 by copygirl 1 1 Link to comment Share on other sites More sharing options...
Tyron Posted September 27, 2019 Report Share Posted September 27, 2019 Well perhaps more like make the farmland drop soil with a special "was farmland" attribute and when placed it'll remember its state until tilled or so 1 1 Link to comment Share on other sites More sharing options...
copygirl Posted September 27, 2019 Author Report Share Posted September 27, 2019 1 minute ago, Tyron said: Well perhaps more like make the farmland drop soil with a special "was farmland" attribute and when placed it'll remember its state until tilled or so If you actually make the soil items remember their state, then they won't stack anymore. I still like my idea best 1 Link to comment Share on other sites More sharing options...
Tyron Posted September 27, 2019 Report Share Posted September 27, 2019 Also true Link to comment Share on other sites More sharing options...
DrTenabrae Posted October 27, 2019 Report Share Posted October 27, 2019 I think the two main suggestions on discord were it's a 0% nutrient when you place it (this would affect all moved soil) or you only get a block back when the tilled land is at 100% nutrient (so you're essentially 'preparing the soil for transport' Link to comment Share on other sites More sharing options...
copygirl Posted October 27, 2019 Author Report Share Posted October 27, 2019 5 hours ago, DrTenabrae said: or you only get a block back when the tilled land is at 100% nutrient (so you're essentially 'preparing the soil for transport' That would be confusing for players who don't know about this rule, and frustrating in general. And doesn't make much sense, in my opinion, to drop nothing when you dig up farmland. Link to comment Share on other sites More sharing options...
DrTenabrae Posted October 28, 2019 Report Share Posted October 28, 2019 me either... i had to lose about 14x21... 294 tera preta on chrometech when I wanted to move my farm. Link to comment Share on other sites More sharing options...
copygirl Posted October 28, 2019 Author Report Share Posted October 28, 2019 What about doing something similar to food regarding the stacking, to follow up on @Tyron's post? Picking up a farmland block with lower than full nutrients will store its nutrients on the item itself. If the nutrients are similar enough to an existent stack in your inventory, they automatically stack. If not, you can still forcefully stack them, like food with varying amounts of freshness. Either way, the nutrients will be averaged. 1 Link to comment Share on other sites More sharing options...
copygirl Posted December 9, 2019 Author Report Share Posted December 9, 2019 Tiny update to the mod, making it only load server-side. This should also mean it's now not required on clients anymore. Link to comment Share on other sites More sharing options...
copygirl Posted December 9, 2020 Author Report Share Posted December 9, 2020 Updated the mod to something more sophisticated and balanced. - Farmland no longer always drops the soil block, it depends on the nutrients at the time of breaking it. (See first post.) - It now is once more a mod that's required on both server and client, due to a block behavior being added. 1 Link to comment Share on other sites More sharing options...
DArkHekRoMaNT Posted December 11, 2020 Report Share Posted December 11, 2020 (edited) On 9/27/2019 at 9:20 AM, copygirl said: If you actually make the soil items remember their state, then they won't stack anymore. I still like my idea best Can you make a system similar to food? You can stack food with different expiration dates and it will be averaged Edited December 11, 2020 by DArkHekRoMaNT Link to comment Share on other sites More sharing options...
copygirl Posted December 11, 2020 Author Report Share Posted December 11, 2020 2 minutes ago, DArkHekRoMaNT said: Can you make a system similar to food? You can stack food with different expiration dates and it will be averaged It would require the item and soil block to store this additional information. Turning soil blocks into block entities is a no-go. Link to comment Share on other sites More sharing options...
Sukotto82 Posted December 12, 2020 Report Share Posted December 12, 2020 I seen someones revised version of this, I actaully have it and I like it quite a bit. glad you thought of it. combined with my own mod I can exploit the revised version of this if I really wanted to but don't at least not intentionally. the way they did it is you will always get a soil block when you break the farmland but the soil block you get will very on the nutrients in the farmland so if its at the default with no usage aka 25, 50, 65, or 80 (I think compost is 65). either way if it has less than it's full nutrients you get the highest soil block that matches the lowest nutrient so if you plant terra pretta and you dig it up and it has all 80s you will get 100% terra pretta soil drop, if its say 90-70-80 (90 due to fertilizer) you will get compost soil back. with my fertilizer mod you can make a super fertilzier that adds a slow release of nutrients 80-80-80 but it is really slow so don't expect to get super soil lol but it will help keep you farming with less rotations and if you take a medium soil block till it fertilize it until it has over 80 in each nutrient you can dig it up and get a terra pretta soil block. takes forever for soil to go up though and I think it drains faster if the nutrient is above the max the farmland naturally has so it's a little hard if you want to really try to exploit it. either way. I don't mind waiting for it to regen nutrients if it means I can dig it up and move. I'm glad you made this mod. Link to comment Share on other sites More sharing options...
Cjleeh Posted February 27, 2021 Report Share Posted February 27, 2021 @copygirlNow that 1.14.8 is out, would you please update the mod? It is not working in 1.14.8 stable. So I am just guessing that there were changes that broke something. Thankyou! Link to comment Share on other sites More sharing options...
copygirl Posted February 28, 2021 Author Report Share Posted February 28, 2021 On 2/27/2021 at 7:19 PM, Cjleeh said: @copygirlNow that 1.14.8 is out, would you please update the mod? It is not working in 1.14.8 stable. So I am just guessing that there were changes that broke something. Thankyou! I tested it in 1.14.8 and it appears to still work just fine. (Placed down farmland or tilled it with a hoe, broke it in survival, received the soil block.) Perhaps another mod is messing with something, or the mod had an issue being loaded? Can you look at or upload the server-main.txt log file? Link to comment Share on other sites More sharing options...
Cjleeh Posted February 28, 2021 Report Share Posted February 28, 2021 (edited) 1 hour ago, copygirl said: I tested it in 1.14.8 and it appears to still work just fine. (Placed down farmland or tilled it with a hoe, broke it in survival, received the soil block.) Perhaps another mod is messing with something, or the mod had an issue being loaded? Can you look at or upload the server-main.txt log file? Here is the file. server-main.txt Edited February 28, 2021 by Cjleeh Link to comment Share on other sites More sharing options...
copygirl Posted February 28, 2021 Author Report Share Posted February 28, 2021 1 hour ago, Cjleeh said: Here is the file. Looking at the file, my mod is loaded properly and there doesn't appear to be any errors. Not entirely sure which other mod to look at first. Did you update the game and the mod stopped working, or did you just recently add it? Did you update or add another mod recently? You could see if disabling any of the other mods would suddenly make Farmland Drops Soil work. (Can't offer more debugging at this moment, I could only make sure this worked with the Aura Fury modpack in singleplayer.) Link to comment Share on other sites More sharing options...
Cjleeh Posted February 28, 2021 Report Share Posted February 28, 2021 (edited) 54 minutes ago, copygirl said: Looking at the file, my mod is loaded properly and there doesn't appear to be any errors. Not entirely sure which other mod to look at first. Did you update the game and the mod stopped working, or did you just recently add it? Did you update or add another mod recently? You could see if disabling any of the other mods would suddenly make Farmland Drops Soil work. (Can't offer more debugging at this moment, I could only make sure this worked with the Aura Fury modpack in singleplayer.) I was able to pin point the exact mod that was conflicting with yours. XSkills 0.4.9 by Xandu I am not sure how to proceed. If I should be talking to you, or if I need to discuss this with Xandu for a possible fix. That is if it can be solved. I have no idea on the complexity of such things, and that is why I am glad to have dedicated people like you do things I can't. To elaborate when XSkills is enabled. The farm blocks disappear as if your mod was not enabled. Even when the nutrients are at there full capacity. When I turn XSkills off, I get the soil back as intended by your mod. Edited February 28, 2021 by Cjleeh Link to comment Share on other sites More sharing options...
Xandu Posted March 1, 2021 Report Share Posted March 1, 2021 2 hours ago, Cjleeh said: I was able to pin point the exact mod that was conflicting with yours. XSkills 0.4.9 by Xandu I am not sure how to proceed. If I should be talking to you, or if I need to discuss this with Xandu for a possible fix. That is if it can be solved. I have no idea on the complexity of such things, and that is why I am glad to have dedicated people like you do things I can't. To elaborate when XSkills is enabled. The farm blocks disappear as if your mod was not enabled. Even when the nutrients are at there full capacity. When I turn XSkills off, I get the soil back as intended by your mod. At the moment the mods are not compatible. I try to fix this with the help of the Compatibility Lib mod. Link to comment Share on other sites More sharing options...
Cjleeh Posted March 1, 2021 Report Share Posted March 1, 2021 2 hours ago, Xandu said: At the moment the mods are not compatible. I try to fix this with the help of the Compatibility Lib mod. I have the Compatibility Lib mod installed. From the sounds of it. There has yet to be a solution that would make the two mods compatible. Link to comment Share on other sites More sharing options...
jakecool19 Posted April 8, 2021 Report Share Posted April 8, 2021 Hello copygirl, in a server I was playing on the mod crashed me, when I approached my base several times. Most of the farmland is not in use as I had depleted the nutrients, except for a few flax plants. Here is the crash log: Spoiler Running on 64 bit Windows with 16 GB RAM Version: v1.14.8 (Stable)4/8/2021 7:29:21 PM: Critical error occurred System.NullReferenceException: Object reference not set to an instance of an object. at FarmlandDropsSoil.FarmlandDropsSoilBehavior.OnBlockBroken(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, EnumHandling& handling) at Vintagestory.API.Common.Block.OnBlockBroken(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier) at Vintagestory.Common.BlockAccessorBase.BreakBlock(BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier) at EntityEarthworm.OnGameTick(Single dt) in C:\vsmods\mods\primitivesurvival\src\entity\entityearthworm.cs:line 107 at Vintagestory.Client.NoObf.ClientSystemEntities.OnGameTick(Single dt) at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) at _jeEziyUSYl0BpbOxT46FYwj5VWL._t25VgrofhlXMw6hHEZh8JHhJz1A(Single ) at _idIkJkIueHHf3Oz2WNlBdD0E1XR._DvzT6D0wN3fMakeuDyljJJ09hok(Single ) at _idIkJkIueHHf3Oz2WNlBdD0E1XR._V5piYzG7beYPldE6UVxY58dqacE(Single ) at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e) at System.EventHandler`1.Invoke(Object sender, TEventArgs e) at OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp) at OpenTK.GameWindow.DispatchRenderFrame() at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second) at _YrS2W1MoaeqC4xqH8ItdZB6vADN._8t1BmEWVlCT9mjx5M0vFIzU9tif(_7T00Rjby4si0wyEBez5dXNqLm7h , String[] ) at _ejKuc6cg0k8V39o8jDIzquyczbO._8t1BmEWVlCT9mjx5M0vFIzU9tif(ThreadStart ) ------------------------------- Event Log entries containing Vintagestory.exe, the latest 3 ================================== { TimeGenerated = 3/20/2021 9:25:51 PM, Site = , Source = Windows Error Reporting, Message = Fault bucket 1564561481470198046, type 5 Event Name: RADAR_PRE_LEAK_64 Response: Not available Cab Id: 0 Problem signature: P1: Vintagestory.exe P2: 1.14.8.0 P3: 10.0.19041.2.0.0 P4: P5: P6: P7: P8: P9: P10: Attached files: \\?\C:\Users\jakec\AppData\Local\Temp\RDR7237.tmp\empty.txt \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER7248.tmp.WERInternalMetadata.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER7259.tmp.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER7276.tmp.csv \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER72A6.tmp.txt These files may be available here: Analysis symbol: Rechecking for solution: 0 Report Id: 1b890296-790c-44b3-9f3f-b3d39004e503 Report Status: 268435456 Hashed bucket: 2422f0d2706eedebe5b67060c44a411e Cab Guid: 0 } -------------- { TimeGenerated = 2/18/2021 7:39:22 PM, Site = , Source = Windows Error Reporting, Message = Fault bucket 1941784971470830743, type 5 Event Name: RADAR_PRE_LEAK_64 Response: Not available Cab Id: 0 Problem signature: P1: Vintagestory.exe P2: 1.14.7.0 P3: 10.0.19041.2.0.0 P4: P5: P6: P7: P8: P9: P10: Attached files: \\?\C:\Users\jakec\AppData\Local\Temp\RDR1F3A.tmp\empty.txt \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER1F3B.tmp.WERInternalMetadata.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER1F4B.tmp.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER1F66.tmp.csv \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER1F86.tmp.txt These files may be available here: Analysis symbol: Rechecking for solution: 0 Report Id: f5388a9a-e76b-4982-a7ae-ae762721a01c Report Status: 268435456 Hashed bucket: 4ff6173b155534146af29b24beb5fc97 Cab Guid: 0 } -------------- { TimeGenerated = 1/30/2021 6:23:06 PM, Site = , Source = Windows Error Reporting, Message = Fault bucket 1894811367828615521, type 4 Event Name: APPCRASH Response: Not available Cab Id: 0 Problem signature: P1: Vintagestory.exe P2: 1.14.7.0 P3: 6006d010 P4: KERNELBASE.dll P5: 10.0.19041.662 P6: ec58f015 P7: c0020001 P8: 000000000002d759 P9: P10: Attached files: \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER8CB5.tmp.WERInternalMetadata.xml These files may be available here: \\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Vintagestory.exe_985a0129f5f352f67983459ff99ca46b6c7d62_8d93c905_ceace742-31c1-4838-9403-9a8183d0ecba Analysis symbol: Rechecking for solution: 0 Report Id: b00cd180-dd85-4f6e-b832-5915d5bf6bf0 Report Status: 268435456 Hashed bucket: 374eecc803555100aa4bb8e65fcbf161 Cab Guid: 0 } Link to comment Share on other sites More sharing options...
copygirl Posted April 9, 2021 Author Report Share Posted April 9, 2021 5 hours ago, jakecool19 said: Hello copygirl, in a server I was playing on the mod crashed me, when I approached my base several times. Most of the farmland is not in use as I had depleted the nutrients, except for a few flax plants. Here is the crash log: An earthworm from another mod is trying to break the farmland block. I suppose I did not write the mod anticipating that. You could remove the other mod for now. I will work on an update. 1 Link to comment Share on other sites More sharing options...
l33tmaan Posted April 9, 2021 Report Share Posted April 9, 2021 An earthworm? That's Primitive Survival! He'd be better off deleting worms from his world than disabling it, IMO. Link to comment Share on other sites More sharing options...
copygirl Posted April 9, 2021 Author Report Share Posted April 9, 2021 New release should hopefully fix the issue with non-players breaking farmland. 1 1 Link to comment Share on other sites More sharing options...
Spear and Fang Posted April 9, 2021 Report Share Posted April 9, 2021 (edited) It should be relatively easy to keep earthworms away from farmland in the interim. They can't climb at all (so even a simple 1 high block wall should keep them out) and do not spawn naturally, only when you pick up a rock or stick. And of course you can just pick them up if you happen to see one. It also takes quite a while for an earthworm to convert farmland into worm castings. Side note: I've made a number of changes to Primitive Survival to make it Carry Capacity friendly, so these sorts of issues seem...inevitable. Edited April 9, 2021 by Spear and Fang Link to comment Share on other sites More sharing options...
Recommended Posts