Pawel's Mod Corner: Autoharvest, Biome Crops, LostEms & others

Readme: for new visitors

To fully and possibly buglessly experience most changes between vanilla and modded game or earlier and more recent mod version you’ll most likely need to start a new game. I am not able to keep track of all inter-version bugs as all .json entities generated in-game prior to upgrading .smod files are not changed.



for Stonehearth 1.1
Current version: 1.5
lostems.smod (2.0 MB)
GitLab repository, currently dev branch only

also available at Steam Workshop
Supports ACE pre-release.

This successor of Finetems mod adds several items which seem logical to be added along vanilla ones: comfy stone furniture, tall clay windows in all colours, stone windows and doors etc.



for Stonehearth 1.1
Current version: 2.3
GitLab repository
also available at Steam Workshop
Supports ACE, Archipelago and Swamp Biomes.

Autoharvest mod adds an option to automatically mark a renewable resource node for harvest when it is renewed. Enabling autoharvest for an object requires just a simple mixinto and unlike before it should work even if an object didn’t have autoharvest option earlier on (moving almost all the necesssary code to autoharvest component made it possible to enable autoharvest when the button is pressed for the first time). From v2.1 onwards it is possible to assign a hotkey for toggling autoharvest.


Smaller projects (out of active development)

Biome Crops


for Stonehearth 1.1
Current version: 1.0b
biome_crops_mod.smod (3.3 KB)
Supports ACE pre-release, Archipelago, Canyon and Tundra biomes.

Biome Crops mod allows specifying initial crop list based on biome alias in addition to player’s kingdom. Makes herb and tree sapling crops depend on biome rather than kingdom. Biome Crops mod uses its own initial_crops.json, adding support for this mod requires mixing into the mod’s .json, not the vanilla one.

Detailed Flowers

for Stonehearth A23 & uA24r789
Current version: alpha 1.0
detailed_flowers.smod (71.5 KB)


*obsolete fine planters added for comparison and not featured in the mod

Replaces some plant models with more detailed versions. Currently features Brightbell and Frostsnap replacements.

Work in progress

Voxailles

for Stonehearth 1.1
Current status: W.I.P

Voxailles (previosuly known as Archmod) became a separate mod because it adds items which do not necessarily fit Stonehearth style due to their very detailed look. The mod adds Architect class, capable of crafting stucco as a refined resource which is used to craft elaborate architectonic ornaments in real-life styles like Classical and Gothic.

Plans for alpha 1.0:

  • add stucco as a resource (done!),
  • add Architect class (done!),
  • add building golems (done!),
  • add silk as a resource (ongoing),
  • add new furniture and decor sets to create fancy and consistent interiors (ongoing),
  • add architectonic elements (ongoing),
  • add a new Modern Era Mediterranean-style kingdom, the Serene League (ongoing),
  • add a new Mediterranean biome (postponed for later releases).
Adventure Mode

for Stonehearth 1.1
Current status: W.I.P
GitLab repository

The overall goal of the mod is to increase the importance of PvE interactions, including exploration, quest lines, functional NPCs and third parties as well as some strategy-oriented mechanics like tech trees and PvP diplomacy. This is the newest of my projects so it’s at the very beginning but I already got a crude Fog of War/Line of Sight prototype to work. You can test it from GitLab dev branch for now, the first release is planned after PvP diplomacy UI is ready.


Recommended mods by other authors

Being a modder myself I like to play with mods made by others. Below is a list of mods I use - this means they should be supported by my mods. Despite some of the mods being buggy at their current stage I can still recommend them because in my opinion they add more value than their bugs cause problems.

Functionality improvement mods
Outdated: Town Monitor by Gruffus
Obsolete with ACE: Better Stockpiles by Shinsaka
Obsolete with ACE: Smart Crafter by Drotten
Never Furrow Fields by Wharp
Edge of Screen Panning by Wharp
Follow Cam Remembers by Wharp
Obsolete with ACE: Tree Stump Mod by BrunoSupremo
Obsolete from A23: Unit Frame Activity Mod by illdred
Obsolete from A23: Unit Frame Health Mod by illdred

Biome mods
Archipelago Biome by BrunoSupremo
Canyon by BrunoSupremo
Swamp Biome by BrunoSupremo
Desert/Temperate Transition Biome by BrunoSupremo
Obsolete with Bruno’s Extra Map Options: Rivers Mod by BrunoSupremo

New items
Outdated: Doorways by jomaxro

32 Likes

Lots of cool stuff in here. Even it this is just planning some stuff out, I am excited to see where you take it.

This is such a cool idea! I’ll definitely be keeping tabs on this :smiley:

As the Finetems alpha is getting very close to release I need some help.

Question 1: the mod adds fine items for the Mason. However, the devs didn’t add a single fine stone item so I have no idea what kind of ornamentation would be used for stone items. The first release will have golden ornaments copied from wooden items, but it will likely change later because it doesn’t fit the style. If you have any ideas please share them.

Question 2: what is the least invasive method of adding a fine item to a recipe? Using a mixinto with "produces": [ {"fine": "item_fine"} ] doesn’t work but I’d prefer not to use overrides in case something is added to the recipes in the next alphas (this significantly reduces the amount of time needed to provide mod support for new release).

Some cool ideas in here - keep at it!

1] May I suggest perhaps using cloth or similar instead of gold? I feel like stone furniture could use a bit of a softer material instead of gold ^^ Just think of the poor buttocks of the Hearthlings as they are to sit on cold stone, haha!
(ergo, add a splish-splash of e.g. blue or red colour instead)

2] I’ve never tried to add any fine items, but this would be my guess:
In your recipe-file, use

"produces": [
      {
         "item": "mod-name:furniture:regular-entity",
         "fine": "mod-name:furniture:fine-entity"
      }
   ]

Above, both regular-entity and fine-entity are called via their respective alias in your mods’ manifest.

Edit: I just realize that what I wrote for 2] is what you have stated do not work.
Just to make sure, you are calling the “fine:” via an existing alias in your manifest, yes?

1 Like

1] Finetems actually adds comfy stone furniture. I need to decide what kind of ornaments can be added to stone. I was thinking about light or dark grey patterns but light grey didn’t look very well. I have to try the dark ones yet. There is a mod adding blue ornamentation to stone items what makes them look extremely unrealistic.

2] Yes, aliases are done correctly as I can spawn the objects through Item Stamper. I tried two ways of adding the recipe via mixinto: listing it in jobs/[class name]/recipes.json and mixinto /stonehearth/jobs/[class name]/recipes/[item name]_recipe.json. The former breaks all the recipes, the latter prevents the UI from loading because it cannot load any data from [item name]_recipe.json and fails to build crafter workshop UI.

I’ve tried "mixintypes": { "produces": "override" } as a mixinto directly into [item_name]_recipe.json and it works, so problem no. 2 is solved.

1 Like

I think the reason for a common mixinto to not work is because the “produces” is an array, and as such there is no way to target the objects inside it.
When you add a mixinto with a {“key”:“value”} it is just adding another table in that array, so in the end the result would look like this:

"produces":[
	{
		"item":"item:url"
	},
	{
		"fine":"your_item:url"
	}
]
2 Likes

That’s exactly what I concluded from my trial and error testing. This means the only way to add values to nested arrays is to override the whole array. I think this should be reported to the devs.

I think I’ll just number problems and questions for easier reference.

3] I’m thinking of adding some taller furniture because covering walls with tapestries while there are no wardrobes makes little sense. As 3x1x3 wardrobe is quite big I consider making it a 12 items container. The problem is it would be extremely difficult to furnish the interiors because containers cannot be moved to inventory without prior emptying.

4] It seems I had item ideas overlapping with some other mods (columns, potted plants etc.), but I decided to add them anyway as I plan on implementing various thematic sets in the future. I hope other modders don’t mind me including stuff similar to theirs.

Double post, but alpha 1.0 of Finetems is finally released. I’ll continue to expand it and begin analysing how the Ecosystem mod ideas could be implemented.

I had no time to make proper screenshots, so if you build something using the Finetems stuff don’t hesitate to share screenies. Bug reports are also welcome.

As there seems to be no activity in this thread despite over 50 downloads of alpha 1.1 I’ll just bump the thread with every update, what I do now because:

Finetems alpha 1.2 ‘Latticed’ is released! :merry:
Enjoy latticed windows in every possible variant, Wooden and Stone included. Also adds Tall Clay windows (with latticed variants added) in all colours.

From now on I’ll upload the mods using forum upload instead of Dropbox. Initial release of Plant Lore should be ready soon, together with some Finetems and Plant Lore screenshots. Then I’ll focus on preparing Archmod for initial release.

3 Likes

this all sounds amazing and great and i fully support it!

Excellent work so far Pawel!

Getting an error from the fine tower brazier though, looks like its trying to call

“stonehearth:lamp”: {
“light_effect”: “stonehearth:effects:tower_brazier_fine_effect”,

instead of:

“stonehearth:lamp”: {
“light_effect”: “stonehearth:effects:tower_brazier_effect”,

1 Like

Thanks for the report, hotfixed .smod uploaded.

Great work!
I just finished the translations of Traditional Chinese yesterday, now I’ve got more to do.

1 Like

Hmm, I’m getting an interesting error that I’m fairly certain is caused by the margin_removal.json but I can’t figure out why:

std::logic_error: ‘Calling iterator method on non-iteratable: find’
stack traceback: [C]: ? [C]: in function ‘load’ stonehearth/components/fixture/fixture_component.lua:10: in function <stonehearth/components/fixture/fixture_component.lua:6>

Removing the Finetems mod from a game already using it results in this instead:

release-761 (x64)[M]
stonehearth/components/fixture/fixture_component.lua:10: attempt to index field ‘_json’ (a nil value)
stack traceback:
[C]: ?
stonehearth/components/fixture/fixture_component.lua:10: in function <stonehearth/components/fixture/fixture_component.lua:6>

The related lines in the fixture_component.lua are:

function FixtureComponent:initialize()
self._json = radiant.entities.get_json(self)

self._bounds = Rect2()
self._bounds:load(self._json.bounds)

Any ideas?

1 Like

Hm. I’m not able to reproduce it, but I get some strange blinking behaviour when I try to place too many windows next to each other. I cannot place a window when there are too many windows in the same row, but dragging it from somewhere else is possible.

Originally I took an invasive approach by firing "mixintypes": {"margin": "remove"} which is a bit dangerous as it may expose some LUA scripts to nil values in places where they are not expected to be, here it may be the Rect2() having nil’s as dimensions. Less invasive way to achieve the same result is to override the "margin" with zeros: margin_removal.zip (259 Bytes)

Try repacing margin_removal.json with the version from ZIP archive. Whether it helps or not I’ll keep it the less invasive way from now on so bugs are less likely to occur in the future.

5] Guys, is it possible to make a crop available from the beginning based on starting biome rather than kingdom? I think it is because I don’t see Coconut Palms available in my recent Desert start with Rayya’s.

EDIT: I’m confused now. In main manifest.json I added a mixinto pointing file(data/biome/desert/manifest.json) to be mixed into /stonehearth/data/biome/desert/manifest.json, which has a “stonehearth:farmer:initial_crops” listed as a mixinto target, but the mixinto seems to have no effect.

For now I think the best immersion would be achieved if crops used for cooking (vegetables and grains) depended on the kingdom, so each kingdom starts with their own cuisine, but herbs, fiber, fruit and tree saplings should match the starting biome.

6] I’m thinking about disabling silkweed from desert biome generation. This would mean no renewable fiber plant would be present in the desert, but I have working tumbleweed crop which doesn’t rot in the field like silkweed to compensate the nerf. Desert shouldn’t be a friendly place, after all.

7] Super advanced: would it be possible to make a crop which has to be farmed in the water like rice or seaweed (I consider making a biome mod which could utilise that for immersion, I think the Archipelago, Swamp and Cafe mods could also benefit from that)?

I cant wait for the Cartesians, honestly this is a good way to improve stats.

Thanks for the mod, I appreciate all the new decorative elements!!! One suggestion/critique If ya notice the fine items for potters don’t get fancy gold, they get an appropriate decorative element that suits the craft. I’d recommend the same for the fine items for other crafts. Perhaps the fine stone items get silver instead of gold if you’re gonna keep it simple with just adding an additional color. That being said, I’m not complaining I love love love that you’ve added more decorative elements to the game and some may actually find the gold suited to their cities so carry on with the great work!!!

Well, I think if any of my mod ideas is abandoned it will be the Cartesians. After doing some math I noticed stat improvement would have to be very slow to keep the game balanced. So slow that it would be barely noticeable, what questions the purpose of the whole mod. Not to mention the fact I’d have to find enough time to dive deep into Stonehearth’s Lua code.

Neither they do in Finetems, turquoise-ish geometrical patterns are used instead. As I wrote above I haven’t decided what to do with fine stone items yet. Golden ornaments would suit Dwarven-like buildings and if you want to have more realistic stone elements then you should wait for Archmod.

1 Like