Mods / Millwright x Wool & More Compat

Tags: #Crafting #Other #Technology
Author: green_blue_gray
Side: Both
Created: Nov 9th at 8:41 AM
Last modified: Nov 9th at 4:10 PM
Downloads: 530
Follow Unfollow 14

Recommended download (for Vintage Story 1.21.5):
millwright_x_wool_compat_v1.1.0.zip  1-click install


Patches the recipes for windmill sails from Millwright to be craftable with wool from Wool & More.

 

Additionally, if Tailor's Delight is installed, sail recipes using wool now require a needle.

 

Note: Sails must be made either entirely of wool or entirely of linen. Mixing fabric types will not work.

Mod Version For Game version Downloads Released Changelog Download 1-click mod install*
1.1.0 446 Nov 9th at 4:10 PM millwright_x_wool_compat_v1.1.0.zip 1-click install

Sails made with wool now also need flax twine.

 

Added compatibility with Tailor's Delight. If Tailor's Delight is installed, sails made with wool now require a needle.

1.0.1 19 Nov 9th at 2:12 PM millwright_x_wool_compat_v1.0.1.zip 1-click install

Fixed some errors in the recipe file that prevented angled and wide sails from being craftable with wool.

1.0.0 65 Nov 9th at 8:41 AM Empty millwright_x_wool_compat_v1.0.0.zip 1-click install

9 Comments (oldest first | newest first)

💬 DrPeter, Nov 9th at 8:44 PM

Good addition. I just noticed that Sail (Wide) uses 8 flax twine, while other two sails uses 4, which I assume is a mistake. 

💬 Damonicus1986, Nov 9th at 5:42 PM

sorry for late reply, it havent crashed the game but was extending load time quite significantly  

 

💬 Tels, Nov 9th at 3:59 PM

green_blue_gray Sure, this is all fine, I'm a bit swamped with modding work, anyway. And no stress :)

💬 green_blue_gray , Nov 9th at 3:20 PM

Tels , I made this mod as a quick fix for personal use when I saw that you added the vanilla sail recipe to your mod. If your plan is to add compatibility for Millwright and TD to Wool & More, then I suppose this patch will just become unnecessary, which I'm fine with.

 

On the other hand, adding in your suggestions would be a good opportunity to get better at modding. So, I'll see what I can do about making that happen.

💬 Tels, Nov 9th at 2:47 PM

green_blue_gray

Thank you for making this mod 🧡 It is great to see additional content and you beat me to it https://gitlab.com/codesmiths/vs_wool/-/issues/84 🙃

 

Some notes:

  • The recipes for sails using wool in Wool & More always use flaxtwine as an additional ingredient, because wool is thought not be as stury as linen. I see your mod doesn't do this, which looks a bit odd to me.
  • In addition, when TD is loaded, I usually patch in a needle to these recipes, too.

 

Maybe you would like to add these things to your mod? Otherwise, when I add Millwright compatibility to Wool & More, it would conflict. Would you be mad then? :)

💬 green_blue_gray , Nov 9th at 2:13 PM

Damonicus1986 Arkdirfe Bossu , version 1.0.1 should fix these issues.

💬 Arkdirfe, Nov 9th at 1:37 PM

From what I can tell only the recipes for the vanilla sails and the centered Millwright sails work. The others don't show up in the handbook and can't be crafted either.

💬 green_blue_gray , Nov 9th at 1:11 PM

Damonicus1986 , can you describe the circumstances of the crash in more detail? Does the mod simply cause a crash when creating a world?

💬 Damonicus1986, Nov 9th at 12:38 PM
Crash Report
9.11.2025 12:36:26 [Error] [game] An exception was thrown when trying to start the mod:
9.11.2025 12:36:26 [Error] [game] Exception: Error converting value 3 to type 'Vintagestory.API.Common.CraftingRecipeIngredient'. Path '[2].ingredients.width'.
---> System.ArgumentException: Could not cast or convert from System.Int64 to Vintagestory.API.Common.CraftingRecipeIngredient.
at Newtonsoft.Json.Utilities.ConvertUtils.EnsureTypeAssignable(Object value, Type initialType, Type targetType)
at Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(Object initialValue, CultureInfo culture, Type targetType)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType)
--- End of inner exception stack trace ---
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateDictionary(IDictionary dictionary, JsonReader reader, JsonDictionaryContract contract, JsonProperty containerProperty, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.Linq.JToken.ToObject(Type objectType, JsonSerializer jsonSerializer)
at Vintagestory.ServerMods.GridRecipeLoader.LoadGridRecipes() in VSEssentials\Loading\GridRecipeLoader.cs:line 48
at Vintagestory.ServerMods.GridRecipeLoader.AssetsLoaded(ICoreAPI api) in VSEssentials\Loading\GridRecipeLoader.cs:line 28
at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 667
 (edit comment delete)
Основной веб-сайт | Почтовый сервер | FTP сервер | Административная панель | API интерфейс | Content Delivery Network | Статические файлы | Ресурсы сайта | Изображения | Файловое хранилище | Блог | Интернет-магазин | Техническая поддержка | Справочная система | Документация | Форум | Новости | Загрузки | Демонстрация | Тестовая среда | Приложение | Медиа контент | Разработка | Промежуточная среда | Бета версия | Безопасная зона | Вход в систему | Панель управления | Портал | Система управления контентом