Giter VIP home page Giter VIP logo

petai's Issues

Food does not work as taming-treat

I'm working on a Mod to tame bears: https://gitlab.com/Sythelux/apanserbjornstory

I have struggle to set Things that the Player can eat as tame-food for the pet for example honeycombs and berries, as my player character wants to rather eat it himself then to give it to the pet. I'm not sure if it is a bug, or if I have to patch something very specific, which I'm just not aware of.

[Suggestion] Ability for a player to give pet permissions to another

Ability for a player to add other players to a "list" of players able to feed pets for obedience and control. Was thinking of something similiar to the vanilla reinforcement permissions or even group permissions.

Then groups of friends or couples can share control of the pets.

Not per pet, but global for all your pets to be simple.

Of course, also a command for checking your list of permitted players. And for removing players.

Example commands:
/petai petperms grant playerName
/petai petperms revoke playerName
/petai petperms list

Melee attacks on horses cause host client to crash

Playing on single player world opened online with 3 friends. Horses do not take damage from arrows, they bounce off which I assumed was because of Don't Hit Your Pets despite horses being untamed. However when a horse is ridden into a campfire or if a wild (never fed, completely wild) horse is hit with melee (tested with a punch) my (host) game crashes but none of the other players are crashed. Will be testing on true single player later.

Certainly an issue interacting with don't hit your pets

Crash report in logs:
1/5/2024 1:44:38 AM: Critical error occurred in the following mod: [email protected]
Loaded Mods: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
System.MissingMethodException: Method not found: 'Boolean PetAI.PetConfig.get_pvpOff()'.
at DontHitYourPets.HarmonyPatches.DontHitYourPetsPatch.Prefix(EntityPet __instance, Boolean& __result, DamageSource damageSource, Single damage)
at PetAI.EntityPet.ShouldReceiveDamage_Patch1(EntityPet this, DamageSource damageSource, Single damage)
at PetAI.EntityMount.ShouldReceiveDamage(DamageSource damageSource, Single damage) in E:\Workspace\vintage_story_mods\petai\src\Entity\EntityMount.cs:line 106
at Vintagestory.API.Common.Entities.Entity.ReceiveDamage(DamageSource damageSource, Single damage) in VintagestoryApi\Common\Entity\Entity.cs:line 806
at Vintagestory.API.Common.EntityAgent.OnInteract(EntityAgent byEntity, ItemSlot slot, Vec3d hitPosition, EnumInteractMode mode) in VintagestoryApi\Common\Entity\EntityAgent.cs:line 284
at PetAI.EntityMount.OnInteract(EntityAgent byEntity, ItemSlot slot, Vec3d hitPosition, EnumInteractMode mode) in E:\Workspace\vintage_story_mods\petai\src\Entity\EntityMount.cs:line 96
at Vintagestory.Client.NoObf.ClientMain.TryAttackEntity(EntitySelection selection) in VintagestoryLib\Client\ClientMain.cs:line 2684
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsNoBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 393
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 96
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 185
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 802
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1006
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 674
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 649
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 78
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 317
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

Crashes with tamed cats or dogs trying to engage in combat

3.2.2022 02:44:43 [Fatal] System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.GameContent.AiTaskSeekEntity.ContinueExecute(Single dt)
at Vintagestory.GameContent.AiTaskManager.OnGameTick(Single dt)
at Vintagestory.GameContent.EntityBehaviorTaskAI.OnGameTick(Single deltaTime)
at Vintagestory.API.Common.Entities.Entity.OnGameTick(Single dt)
at Vintagestory.API.Common.EntityAgent.OnGameTick(Single dt)
at Vintagestory.Server.ServerSystemEntitySimulation.TickEntities(Single dt)
at Vintagestory.Server.ServerSystemEntitySimulation.OnServerTick(Single dt)
at Vintagestory.Server.ServerMain.Process()
this error shows up many times in very quick succession (several times every second)

Suggestion: Ability to heal pets

Being able to apply poultices and bandages to your wounded dog in the field would be a great addition.
Even if it was a list just like how the tame food is in the .json files, or how the revive items are in the config.

Crash when playing

No any actions with pets but crashes


System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в PetAI.EntityBehaviorTameable.disobey(Single intervall)
   в Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world)
   в Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt)
   в Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime)
   в _rnlVSzJ2AGPu2719D3re8Z7kN2c._iCctvUrJRYdSyJrBVxt5h8N0k5h(Single )
   в _o0lbNJXQO06me4d8j661Kh7y0zO._HmSBpw6fP4XFLEcv29tc0ifOKYvb(Single )
   в _o0lbNJXQO06me4d8j661Kh7y0zO._3U99eoPu0PaDLPVrL8tfzH5UDEJ(Single )
   в Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e)
   в System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   в OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp)
   в OpenTK.GameWindow.DispatchRenderFrame()
   в OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
   в _M48MnHH5BAvHUzcYoEuchRW0acb._e0atQ8VmmvgBK7zb3Yh4iDqOiHY(_UGHNIsOGTJBe1BTRXYmLwHTbmS , String[] )
   в _xNqQDGqRsRSMIeuzt2MHKQHDzSd._e0atQ8VmmvgBK7zb3Yh4iDqOiHY(ThreadStart )

Riding animation unusable.

The riding animation in 1.19 is completely borked and makes mods using it, like Feverstone Horses, unusuable.
image

Pets Not Deleting

Seems the pets dont properly delete out of a list. I removed 2 "cats:entity-tamed-cat" (or something like that) from my list yesterday. They came back, i removed them again but could still see 2 random extra "Cat (male)"s in a nest. Today both are back and now the dog i had taming duplicated lol

Unable to spawn in pet mobs in creative on server

This may or may not be a PetAI issue, but I noticed cats, horse, and dogs are missing from inventory in creative mode on our server. When loading the current set of mods and current save file into single player they show up fine. Since the animals from all three of the pet mods we are using were missing my best guess was the issue was central to PetAI. Is this a bug or am I just missing a setting somewhere?

Mod versions currently using of each are:
PetAI 1.3.5
Cats 1.3.3
Feverstone Horses 1.2.5
Wolf Taming 1.3.2

Throws exception on server

13.2.2022 21:09:36 [Error] Error thrown trying to serialize entity with code cats:cat-male, will not save, sorry! Exception: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в PetAI.EntityPet.getInventoryTree()
   в PetAI.EntityPet.ToBytes(BinaryWriter writer, Boolean forClient)
   в Vintagestory.Server.ServerChunk.BeforeSerialization()

server performance

Pets AI sometimes producing lag spikes on populated server and sometimes it's look like short, ~500ms, setbacks of character in moving
Is there's anyway in config to reduce AI CPU load?

09:09:04 [Server Warning] Server overloaded. A tick took 520ms to complete.
09:09:04 [Server Notification] A tick took 523,74ms
entity-ai-tasks-tick-start-execPetAI.AiTaskPetSeekEntity: 281,88ms
entity-ai-tasks-tick-start-execVintagestory.GameContent.AiTaskSeekEntity: 157,36ms
entity-ai-tasks-tick-cont-PetAI.AiTaskPetSeekEntity: 29,35ms
entity-controlledphysics-end: 16,55ms
testspawn game:dragonfly-brownhawker: 8,59ms
entity-done-bh-repulseagents: 4ms
gmleVintagestory.Server.ServerSystemEntitySimulation: 2,54ms
end: 1,97ms

15.2.2022 16:07:54 [Notification] A tick took 751.45ms
entity-ai-tasks-tick-start-execPetAI.AiTaskPetSeekEntity: 535.46ms
gmlewildcraft.BlockEntityWCBerryBush: 74.69ms
gmlePrimitiveSurvival.ModSystem.BETreeHollowGrown: 30.09ms
entity-controlledphysics-end: 18.04ms
gmleUsefulStuff.BEWelcomeMat: 17.86ms
gmleVintagestory.GameContent.BlockEntityBerryBush: 14.62ms
gmleVintagestory.Server.ServerSystemBlockSimulation: 9.89ms
testspawn game:dragonfly-brownhawker: 9.11ms

massive spam in server log after update PeiAI&cats&wolfs to 1.4.0

19:15:43 [Server Fatal] System.NullReferenceException: Object reference not set to an instance of an object.
at PetAI.EntityBehaviorTameable.OnEntityDespawn(EntityDespawnReason despawn)
at Vintagestory.API.Common.Entities.Entity.OnEntityDespawn(EntityDespawnReason despawn)
at Vintagestory.Server.ServerMain.DespawnEntity(Entity entity, EntityDespawnReason reason)
at Vintagestory.Server.ServerSystemEntitySimulation.TickEntities(Single dt)
at Vintagestory.Server.ServerSystemEntitySimulation.OnServerTick(Single dt)
at Vintagestory.Server.ServerMain.Process()

suggestion for the config: Add a generation of x creature to factor in/modulate tamable/obediance increase/decrease or threshold for certain commands

suggestion for the config: Add a generation of x creature to factor in/modulate tamable/obediance increase/decrease or threshold for certain commands

In short a gen 5 horse could get tamed easier and maintain their tamable/obedience longer while a gen 0 or 1 would be longer to tame and rise obedience.

Maybe have it consider it from gen 0 to 10 and put a true/false to factor in
which would affect
tamability increase
obedience increase
tamability decrease over-time
obedience decrease over-time

Also could put a cap on how many pet can be tamed, named by server settings?

Thanks!

Pets seem to be rather expensive with ticks

looks like the pets AI tasks are rather high in tick usage. just a snip, longer tick profiling in document

16:28:05 [Server Warning] Server overloaded. A tick took 526ms to complete.
16:28:05 [Server Notification] A tick took 528.65ms
entity-ai-tasks-tick-start-execPetAI.AiTaskPetSeekEntity: 208.09ms
entity-ai-tasks-tick-start-execPetAI.AiTaskSeekNest: 141.38ms

PetsTickLog.txt

On my own, I tested with making the sleeping task happen almost constantly and for much longer and that reduced the load quite a bit. minor edits though just for testing.

[Suggestion] Ridable pets

An entity riding system, flagged like "size" in the json as maybe "ridable" or "mountable": true/false. Perhaps a saddle equipped to the creature is required to mount, with a high enough obedience level.

Would pair perfectly with this being a pet library and the already existing equipment system.

PetAI crashes and is incompatible with Flathub version of Vintage Story

Why? To be able to play Pet AI-enabled servers on Steam Deck, of course...

Steps to reproduce:

  1. On Linux, install Vintage Story from Flathub (for user only): https://flathub.org/apps/details/at.vintagestory.VintageStory
  2. Run it, log in, close.
  3. Place petai_v1.3.6.zip in ~/.var/app/at.vintagestory.VintageStory/config/VintagestoryData/Mods/ (this location may vary depending on the distribution. This one is specific to Arch Linux / SteamOS 3)
  4. Run it again and start a single player game.
  5. PetAI is not running.

Logs

~/.var/app/at.vintagestory.VintageStory/config/VintagestoryData/Logs/server-main.txt:

7.3.2022 21:44:20 [Error] [petai] Exception thrown when attempting to retrieve all types of the assembly protobuf-net, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67: System.Reflection.ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
  at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at Vintagestory.Common.ModContainer.GetModSystems (System.Reflection.Assembly assembly) [0x00000] in <6b6988c5e6264e7e8b7a32e875df9528>:0 
System.IO.FileNotFoundException: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
File name: 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51', InnerException: . Will ignore asssembly. Loader exceptions:
6.3.2022 21:44:20 [Error] [petai] System.IO.FileNotFoundException: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
File name: 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
6.3.2022 21:44:20 [Error] [petai] An exception was thrown when trying to load assembly:
System.IO.FileNotFoundException: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
File name: 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
  at (wrapper managed-to-native) System.MonoCustomAttrs.GetCustomAttributesInternal(System.Reflection.ICustomAttributeProvider,System.Type,bool)
  at System.MonoCustomAttrs.GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inheritedOnly) [0x00013] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inherit) [0x00037] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Reflection.RuntimeAssembly.GetCustomAttributes (System.Type attributeType, System.Boolean inherit) [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Attribute.GetCustomAttributes (System.Reflection.Assembly element, System.Type attributeType, System.Boolean inherit) [0x0005c] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Attribute.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType, System.Boolean inherit) [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Attribute.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType) [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Reflection.CustomAttributeExtensions.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType) [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Reflection.CustomAttributeExtensions.GetCustomAttribute[T] (System.Reflection.Assembly element) [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at Vintagestory.Common.ModContainer+<>c__DisplayClass33_0.<LoadAssembly>b__1 (System.Reflection.Assembly ass) [0x00000] in <6b6988c5e6264e7e8b7a32e875df9528>:0 
  at System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToList () [0x0001b] in <06a1bec0cd6643378846786981f19b07>:0 
  at System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0001f] in <06a1bec0cd6643378846786981f19b07>:0 
  at Vintagestory.Common.ModContainer.LoadAssembly (Vintagestory.Common.ModCompilationContext compilationContext, Vintagestory.Common.ModAssemblyLoader loader) [0x00169] in <6b6988c5e6264e7e8b7a32e875df9528>:0 

Additionally, Vintage Story will crash trying to join a server that has this mod loaded (such as Aura Fury)

image

~/.var/app/at.vintagestory.VintageStory/config/VintagestoryData/Logs/client-main.txt:

6.3.2022 21:30:04 [Notification] Mods, sorted by dependency: aurafurytweaks, bettercrates, extrachests, specializedbags-10Slot, tradeomat, game, carrycapacity, farmlanddropssoil, medievalexpansion, petai, creative, survival, workbenchexpansion, bricklayers, feverstonehorses
6.3.2022 21:30:04 [Warning] Client side assembly resolver did not find the assembly in the binary path, the lib path or the mods path. Tested for the following paths:
  /app/extra/vintagestory/
  /app/extra/vintagestory/Lib
  /app/extra/vintagestory/Mods
  /home/mard/.var/app/at.vintagestory.VintageStory/config/VintagestoryData/Mods
6.3.2022 21:30:04 [Warning] Client side assembly resolver did not find the assembly in the binary path, the lib path or the mods path. Tested for the following paths:
  /app/extra/vintagestory/
  /app/extra/vintagestory/Lib
  /app/extra/vintagestory/Mods
  /home/mard/.var/app/at.vintagestory.VintageStory/config/VintagestoryData/Mods
6.3.2022 21:30:04 [Error] [petai] Exception thrown when attempting to retrieve all types of the assembly protobuf-net, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67: System.Reflection.ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
  at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at Vintagestory.Common.ModContainer.GetModSystems (System.Reflection.Assembly assembly) [0x00000] in <6b6988c5e6264e7e8b7a32e875df9528>:0 
System.IO.FileNotFoundException: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
File name: 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51', InnerException: . Will ignore asssembly. Loader exceptions:
6.3.2022 21:30:04 [Error] [petai] System.IO.FileNotFoundException: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
File name: 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
6.3.2022 21:30:04 [Error] [petai] An exception was thrown when trying to load assembly:
System.IO.FileNotFoundException: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
File name: 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
  at (wrapper managed-to-native) System.MonoCustomAttrs.GetCustomAttributesInternal(System.Reflection.ICustomAttributeProvider,System.Type,bool)
  at System.MonoCustomAttrs.GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inheritedOnly) [0x00013] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inherit) [0x00037] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Reflection.RuntimeAssembly.GetCustomAttributes (System.Type attributeType, System.Boolean inherit) [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Attribute.GetCustomAttributes (System.Reflection.Assembly element, System.Type attributeType, System.Boolean inherit) [0x0005c] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Attribute.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType, System.Boolean inherit) [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Attribute.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType) [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Reflection.CustomAttributeExtensions.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType) [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at System.Reflection.CustomAttributeExtensions.GetCustomAttribute[T] (System.Reflection.Assembly element) [0x00000] in <50ac1f0036934a2d82336a85babf389a>:0 
  at Vintagestory.Common.ModContainer+<>c__DisplayClass33_0.<LoadAssembly>b__1 (System.Reflection.Assembly ass) [0x00000] in <6b6988c5e6264e7e8b7a32e875df9528>:0 
  at System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToList () [0x0001b] in <06a1bec0cd6643378846786981f19b07>:0 
  at System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0001f] in <06a1bec0cd6643378846786981f19b07>:0 
  at Vintagestory.Common.ModContainer.LoadAssembly (Vintagestory.Common.ModCompilationContext compilationContext, Vintagestory.Common.ModAssemblyLoader loader) [0x00169] in <6b6988c5e6264e7e8b7a32e875df9528>:0 

Possible clue

Make PetAI independent of netstandard. PetAI is targeting net461 and one of PetAI dependencsies, protobuf-net also has builds for net461. That's what Pet AI should be using. However, I suspect that your build seems to pull the netstandard version of protobuf-net, not the net461 version.

Screenshot_20220306_225259

Missing texture asset

Seeing this in client-main.txt:

4.6.2023 11:03:14 [Warning] Texture asset 'game:textures/block/bone.png' not found (defined in Item petai:petwhistle).

PetAI.AiTaskPetmeleeAttack.IstargetableEntity error

Started receiving this error on loop in our server crashing it as soon as anyone near a pet logs on:

00:54:34 [Server Fatal] System.NullReferenceException: Object reference not set to an instance of an object
at PetAI.AiTaskPetMeleeAttack.IsTargetableEntity (Vintagestory.API.Common.Entities.Entity e, System.Single range, System.Boolean ignoreEntityCode) [0x00070] in <4f3bad2e3ad54ba5afadd7bf61dc3fc1>:0
at Vintagestory.GameContent.AiTaskMeleeAttack.b__13_0 (Vintagestory.API.Common.Entities.Entity e) [0x00000] in :0
at Vintagestory.Common.GameMain.GetEntitiesAround (Vintagestory.API.MathTools.Vec3d position, System.Single horRange, System.Single vertRange, Vintagestory.API.Common.ActionConsumable1[T] matches) [0x000fb] in <6b6988c5e6264e7e8b7a32e875df9528>:0 at Vintagestory.Server.ServerMain.GetNearestEntity (Vintagestory.API.MathTools.Vec3d position, System.Single horRange, System.Single vertRange, Vintagestory.API.Common.ActionConsumable1[T] matches) [0x0000d] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.GameContent.AiTaskMeleeAttack.ShouldExecute () [0x001b1] in :0
at Vintagestory.GameContent.AiTaskManager.OnGameTick (System.Single dt) [0x00059] in :0
at Vintagestory.GameContent.EntityBehaviorTaskAI.OnGameTick (System.Single deltaTime) [0x00041] in :0
at Vintagestory.API.Common.Entities.Entity.OnGameTick (System.Single dt) [0x000bf] in :0
at Vintagestory.API.Common.EntityAgent.OnGameTick (System.Single dt) [0x0076b] in :0
at Vintagestory.Server.ServerSystemEntitySimulation.TickEntities (System.Single dt) [0x00025] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.Server.ServerSystemEntitySimulation.OnServerTick (System.Single dt) [0x00167] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.Server.ServerMain.Process () [0x001ba] in <6b6988c5e6264e7e8b7a32e875df9528>:0

Receiving multiple damage until instant death

Hey ,
I have a weird bug that makes the gaming experience awful. Everytime i get damage from another entity its multi-hits. Like So many that I die. And it doesnt matter which creature it is.

Example One: I have 30 HP and want to kill a Aurochs. The animation of the Aurochs shows that it hit´s me once but i instantly die. The Damage Log later shows 11 times damage (its 3hp per hit, i reduced it in world configs).
Example Two: I have no food left and am starving. The HP bar reduces within a few seconds.

Now i know for sure that this is not normal behavior so I quickly figuered that it has something to do with mod interference.

So i started a new world and did some testing. I ultimatly found that this mod caused the problem. After i deactivated it everything worked fine. Now i´m sure that its a interference with other mods but I can´t figure out how to find a solution.

Abstract of the damage log:

1.6.2023 12:06:16 [Chat] Welcome betterdayz, may you survive well and prosper @ 0
1.6.2023 12:07:22 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:22 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:23 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:23 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:23 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:23 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:23 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:23 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:23 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:23 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:23 [Chat] Lost 3 hp by an angry Aurochs (Creature) @ -5
1.6.2023 12:07:23 [Chat] Player betterdayz got killed by an angry Aurochs @ 0
1.6.2023 12:07:28 [Chat] You have re-emerged at your returning point. It will vanish after 99 more uses @ 0
1.6.2023 12:07:28 [Chat] Gained 30,53 hp through heal @ -5

Please let me know if I can submit any other logs that would be helpful.

Cheers and thanks in advance

Suggestion: Pet Renaming

Many reasons, from mistyping to not knowing the sex or color of the pup. Ability to rename would be great. Even if it was locked behind an obedience level.

When player slammed a horse by axe, the client was disconnected. I found an exception in the server log.

When player slammed a horse by axe, the client was disconnected. I found the following exception in the server log:

20:26:15 [Server Warning] Exception at client 30. Disconnecting client.
20:26:15 [Server Event] Player Johny got removed. Reason: Threw an exception at the server
20:26:15 [Server Error] System.NullReferenceException: Object reference not set to an instance of an object
at PetAI.EntityPet.applyPetArmor (System.Single dmg, Vintagestory.API.Common.DamageSource dmgSource) [0x0003f] in <86f8329c9be849d7848cf9287e447ead>:0
at PetAI.EntityPet.b__4_0 (System.Single dmg, Vintagestory.API.Common.DamageSource dmgSource) [0x00000] in <86f8329c9be849d7848cf9287e447ead>:0
at Vintagestory.GameContent.EntityBehaviorHealth.OnEntityReceiveDamage (Vintagestory.API.Common.DamageSource damageSource, System.Single& damage) [0x00021] in <3f5e746b61cb45608a2d6835722267bd>:0
at Vintagestory.API.Common.Entities.Entity.ReceiveDamage (Vintagestory.API.Common.DamageSource damageSource, System.Single damage) [0x00047] in :0
at Vintagestory.API.Common.EntityAgent.ReceiveDamage (Vintagestory.API.Common.DamageSource damageSource, System.Single damage) [0x00000] in :0
at Vintagestory.API.Common.EntityAgent.OnInteract (Vintagestory.API.Common.EntityAgent byEntity, Vintagestory.API.Common.ItemSlot slot, Vintagestory.API.MathTools.Vec3d hitPosition, Vintagestory.API.Common.EnumInteractMode mode) [0x0032f] in :0
at PetAI.EntityMount.OnInteract (Vintagestory.API.Common.EntityAgent byEntity, Vintagestory.API.Common.ItemSlot slot, Vintagestory.API.MathTools.Vec3d hitPosition, Vintagestory.API.Common.EnumInteractMode mode) [0x00044] in <86f8329c9be849d7848cf9287e447ead>:0
at Vintagestory.Server.ServerSystemEntitySimulation.HandleEntityInteraction (Packet_Client packet, Vintagestory.Server.ConnectedClient client) [0x00275] in :0
at Vintagestory.Server.ServerMain.HandleClientPacket (Vintagestory.Server.ConnectedClient client, System.Byte[] data) [0x0005a] in :0
at Vintagestory.Server.ServerMain.ProcessNetMessage (Vintagestory.Common.NetIncomingMessage msg, Vintagestory.Common.NetServer mainSocket) [0x00151] in :0

I reported it to the author of the FeverstoneHorses mod as well.

(Suggestion) Ability to re-dye pet beds, possibly Hide and Fabric support

Title. Potentially also combine colored ones with water or dye precursors (diluted cassiterite, etc.) to get the "plain" color back.
Support for Hide and Fabric would also be great, at least allowing us to craft pet beds with other fabrics; wool, silk, etc. While different item variants for the different textiles would be best to keep in line with the mod, I don't think that's really necessary.

Suggestion: Have pets respawn on the owner's spawn point

Playing on a server using the mod for a while now. Seems there might be an issue with the pets respawning on the server. Either the pets are respawning while players are running around and losing the animal or the pets do not respawn while the player is offline. Either way, we're starting to lose our pets lol

[Suggestion] Pet PvP protection

Some sort of toggleable protection for pets from player damage would be very nice. Per player or globally.

Have had a couple issues with players killing pets, nothing too severe.

Temporary actions were taken by removing the ability to harvest the pets.

[Suggestion] Owned pets only harvestable by owner

In the event of a pet getting killed by a player anyway with pet pvp off or a pet dies from something else, the pet only being harvestable by the current owner should prevent the pet getting removed. Also allows people to harvest the pet themselves to make it go away kinda thing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.