Jump to content

A Culinary Artillery 1.1.3


l33tmaan

Recommended Posts

3 hours ago, Philippe J said:

On the other hand, my existing save, for some reason, does not crash anymore, but won't do Bone Broth.
It will do berries syrup, so that's quite weird (why would it ignore one recipe then let others ? )

I can explain this. Juice to syrup is not a simmer recipe. I literally just made it so juice cooks into syrup. Since you can't cook liquid on its own normally, this means you have to use a saucepan or cauldron in order to do so. Simmer recipes are only for turning 2 or more items into one item.

Link to comment
Share on other sites

Could this actually be a VS (Tyron) problem? And perhaps it has nothing to do with EF or ACA at all? The reason why I suggest this is because of the individual experiences with the crashing each player has. It could also come down to a problem with running it on a server, but I also get the crash using a cauldron on singleplayer.

Link to comment
Share on other sites

1 hour ago, RollerMobster said:

Could this actually be a VS (Tyron) problem? And perhaps it has nothing to do with EF or ACA at all? The reason why I suggest this is because of the individual experiences with the crashing each player has. It could also come down to a problem with running it on a server, but I also get the crash using a cauldron on singleplayer.

I doubt it. It's probably my fault.

Link to comment
Share on other sites

I'm sorry I'm not a mod developper, so I'm just looking at the code as is, with no hint of what's going on in the background. It's certainly a problem to make pertinent remarks, but since I've been doing this for about 20-ish years, I hope I can still add some value, like for example telling anyone that will listen that this
 

foreach (SimmerRecipe rec in simmerRecipes)
{
  if (rec.Match(contents) > 0)
  {
    match = rec;
    amount = rec.Match(contents);
    break;
  }
}

is can be improved by storing the returned value of rec.Match the first time, instead of running the whole damn function again just to get the integer that was, in fact, already returned to you the first time around.

I'm seeing stuff like Ingredients capital I in the JSON for the simmering recipes whereas you use lower case for the other ones... no idea if that's a problem besides consistency (I don't even know what JSON deserializer you guys use, so it's probably harmless with the right options activated edit : nvm it's Newtonsoft's Json, obviously).

There are some "interesting" errors in the client-debug files that might hint at some stuff, like that strange one
 

Quote

15:11:16.340 [VerboseDebug] Lang key not found: expandedfoods:item-handbooktitle-expandedfoods:brothportion-bone

but again, I'm just guessing :P

Edited by Philippe J
  • Thanks 1
Link to comment
Share on other sites

We've been doing some ongoing testing and investigating of this issue (with enthusiastic help from Philippe).  One thing is certain...

Nothing is certain.

 

We can't recreate the error in dev mode at all. It only occurs once the mod is compiled.
It doesn't happen to everyone (apparently?) and it doesn't happen consistently. It doesn't even happen consistently on the same world. Earlier today I loaded a fresh world, and it crashed every time with the .zip file.  Tonight I reloaded that world, and it doesn't have a problem at all.

My current theory is that, for some reason, on certain worlds/loads/etc, irrespective of the mod loadout (So long as both ACA and EF are in) the simmering recipes just aren't loading.  I know the error isn't isolate to multiplayer or single player. I know that mode has no impact on the situation at all.

If you get the crash, please check your server-debug log and look for a line that indicates the number of simmering recipes loaded. We can't reliably recreate the crash, (and rarely get it, in fact), so it's being quite a pain to debug.

  • Like 1
Link to comment
Share on other sites

Screw it, I haven't heard any complaints yet. I've uploaded a public version to the modDB, I hope nothing goes wrong!

~1.17_v1.0.8~
- Corrected bug with simmering recipes
- Cauldron & saucepan fit on meat hooks again
- Logs look correct in oven
- Large meat hook claymaking recipe updated

  • Like 2
Link to comment
Share on other sites

  • l33tmaan changed the title to A Culinary Artillery 1.0.8

Trying to break an egg on a bucket produces this server exception and kicks the player from the server:
 

Spoiler

14:23:35 [Server Event] Player RogueRaiden got removed. Reason: Threw an exception at the server
14:23:35 [Server Error] System.NullReferenceException: Object reference not set to an instance of an object
  at ACulinaryArtillery.ItemEggCrack.OnHeldInteractStop (System.Single secondsUsed, Vintagestory.API.Common.ItemSlot slot, Vintagestory.API.Common.EntityAgent byEntity, Vintagestory.API.Common.BlockSelection blockSel, Vintagestory.API.Common.EntitySelection entitySel) [0x0053b] in <585d6fc1d99a43b78429b92571dec3bc>:0 
  at Vintagestory.API.Common.CollectibleObject.OnHeldUseStop (System.Single secondsPassed, Vintagestory.API.Common.ItemSlot slot, Vintagestory.API.Common.EntityAgent byEntity, Vintagestory.API.Common.BlockSelection blockSel, Vintagestory.API.Common.EntitySelection entitySel, Vintagestory.API.Common.EnumHandInteract useType) [0x00013] in <5fff0bbd574f4532936c0f270e3c7cf2>:0 
  at Vintagestory.Server.ServerSystemInventory.HandleHandInteraction (Packet_Client packet, Vintagestory.Server.ConnectedClient client) [0x00338] in <888bec6fc06e4b95915767b40c47224f>:0 
  at Vintagestory.Server.ServerMain.HandleClientPacket (Vintagestory.Server.ConnectedClient client, System.Byte[] data) [0x0005a] in <888bec6fc06e4b95915767b40c47224f>:0 
  at Vintagestory.Server.ServerMain.ProcessNetMessage (Vintagestory.Common.NetIncomingMessage msg, Vintagestory.Common.NetServer mainSocket) [0x00151] in <888bec6fc06e4b95915767b40c47224f>:0

 

and there are some spammy console log entries
 

Spoiler

https://pastebin.com/BjyXZZxc

All three of the following have spammed the main console log, as seen in above paste

13:57:40 [Server Debug] GetMeltingDuration 1 Reached with contents game:fat game:fat

13:57:40 [Server Debug] GetMeltingDuration 1 Reached with contents game:fat game:waterportion

13:57:40 [Server Debug] GetMeltingDuration 1 Reached with contents game:waterportion game:waterportion

 

Link to comment
Share on other sites

On 10/14/2022 at 4:30 PM, l33tmaan said:

Were they using a regular chicken egg? A water-glassed one? A More Animals egg?

It was a regular chicken egg, but i just tested with a water-glassed one as well. crashed the client from the server. We don't use More Animals.

Spoiler

14:05:35 [Server Fatal] System.NullReferenceException: Object reference not set to an instance of an object
  at ACulinaryArtillery.ItemEggCrack.OnHeldInteractStop (System.Single secondsUsed, Vintagestory.API.Common.ItemSlot slot, Vintagestory.API.Common.EntityAgent byEntity, Vintagestory.API.Common.BlockSelection blockSel, Vintagestory.API.Common.EntitySelection entitySel) [0x0053b] in <585d6fc1d99a43b78429b92571dec3bc>:0 
  at Vintagestory.API.Common.CollectibleObject.OnHeldUseStop (System.Single secondsPassed, Vintagestory.API.Common.ItemSlot slot, Vintagestory.API.Common.EntityAgent byEntity, Vintagestory.API.Common.BlockSelection blockSel, Vintagestory.API.Common.EntitySelection entitySel, Vintagestory.API.Common.EnumHandInteract useType) [0x00013] in <5fff0bbd574f4532936c0f270e3c7cf2>:0 
  at Vintagestory.Server.ServerSystemInventory.callOnUsing (Vintagestory.API.Common.ItemSlot slot, Vintagestory.Server.ServerPlayer player, Vintagestory.API.Common.BlockSelection blockSel, Vintagestory.API.Common.EntitySelection entitySel, System.Single& secondsPassed, System.Boolean callStop) [0x0006d] in <888bec6fc06e4b95915767b40c47224f>:0 
  at Vintagestory.Server.ServerSystemInventory.OnUsingTick (System.Single dt) [0x0019d] in <888bec6fc06e4b95915767b40c47224f>:0 
  at Vintagestory.Common.EventManager.TriggerGameTick (System.Int64 ellapsedMilliseconds, Vintagestory.API.Common.IWorldAccessor world) [0x000d3] in <888bec6fc06e4b95915767b40c47224f>:0 
  at Vintagestory.Server.CoreServerEventManager.TriggerGameTick (System.Int64 ellapsedMilliseconds, Vintagestory.API.Common.IWorldAccessor world) [0x00000] in <888bec6fc06e4b95915767b40c47224f>:0 
  at Vintagestory.Server.ServerMain.Process () [0x0020d] in <888bec6fc06e4b95915767b40c47224f>:0 
14:05:36 [Server Notification] Last player disconnected, compacting large object heap...
14:05:36 [Server Event] Player RogueRaiden got removed. Reason: The Players client crashed

 

Edited by RogueRaiden
Link to comment
Share on other sites

  • 2 weeks later...

Updated to 1.0.9!

- Drinking from bottles gives consistent nutrition/HP
- Bottles no longer have duplicate liquid info
- Boiled/pickled eggs cannot be cracked (requires update in EF 1.6.4)
- Spile can pour into saucepan & cauldrons, not just buckets
- Spile ground transform fixed
- Spile clay mold created
- Eggs no longer crash when cracking into a bucket
- Handbook guide mentions what buttons crack eggs

  • Like 3
Link to comment
Share on other sites

  • l33tmaan changed the title to A Culinary Artillery 1.0.9
  • 2 weeks later...
  • l33tmaan changed the title to A Culinary Artillery 1.0.10
  • 2 weeks later...
  • 2 weeks later...

Looking at the en.json lang file while doing the pt-br one, I noticed a few things:
Line 183 ("recipeingredient-item-eggyolkfullportion-goldenpheasant-insturmentalcase") has an extra "g" at the start of its description.
Line 189, 190 and 191 seem to have an extra space at the end of their description.

That said, here's a pt-br.json translation file for ya, @l33tmaan. I'm working on the Expanded Foods one. Hope it works, I didn't test it yet.

 

pt-br.json

  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...

Updated to 1.0.11!

- Using multiple bottles/buckets on the saucepan/cauldron uses correct liquid values
- Bottles display extra nutrients & ExpandedLiquid item description properly (thanks to @Spear and Fang)
- Eggs give shells properly when cracked in buckets
- Egg cracking sped up
- Trader filename updated; items should be buyable/sellable again
- Glass bottle & marble mixing bowl prices doubled
- Mini mixing bowl casts no shadow
- Spanish translation added (thanks to @Ziru)
- pt-br translation added (I think this is Portuguese?) (thanks to @Azuli_Yanazake)
- XSkills compatibility tweaked

  • Like 2
  • Cookie time 1
Link to comment
Share on other sites

  • l33tmaan changed the title to A Culinary Artillery 1.0.11
  • 2 weeks later...
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.