Mods / CAN Spawn Conditions
Tags:
Author: KenigVovan
Side: Server
Created: Aug 21st at 4:10 PM
Last modified: Aug 30th at 10:11 AM
Downloads: 146
Follow Unfollow 6
Author: KenigVovan
Side: Server
Created: Aug 21st at 4:10 PM
Last modified: Aug 30th at 10:11 AM
Downloads: 146
Follow Unfollow 6
Latest release (for Vintage Story 1.21.0, potentially outdated):
canspawnconditions_1.0.1.zip
1-click install
- Stops spawn of hostile mobs around players(use HostileNoSpawnAreaAroundPlayer in config to change radius)
- Set threshold of amount of killed mobs in area and block their spawn after
- KilledCheckerEntitiesRegex contains regex string to set which mobs' death we want to count
- KilledEntityThreshold amount of killed over which this type of mobs won't spawn
- KilledCheckerZoneSize size of squire of world map in which mobs won't spawn if threshold is reached
- PercentOfKilledNumberToEraseEveryYear every ingame year this % of killed amount will be subtracted and if number is under the threshold now it will allow mobs to spawn
- StoreCheckerDataEveryNSeconds collected info will be stored into world save file every N seconds (besides that it is stored on normal server/game close)
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 1.0.2 | canspawnconditions | 18 | Aug 30th at 10:11 AM | Empty | canspawnconditions_1.0.2.zip | 1-click install | |
| 1.0.1 | canspawnconditions | 78 | Aug 30th at 10:08 AM | canspawnconditions_1.0.1.zip | 1-click install | ||
| |||||||
| 1.0.0 | canspawnconditions | 50 | Aug 21st at 4:11 PM | Empty | canspawnconditions_1.0.0.zip | 1-click install | |
Origin_Alpha_43
1.0.1 should fix it, old collected data of killed entities will be lost unfortunately
(or 1.0.2 for .20.12)
worked fine 2 restarts ago
now doesnt work. server crash on launch as soon as it starts loading the world
System.ArgumentException: An item with the same key has already been added. Key: 250 / 250
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at System.Collections.Generic.Dictionary`2.System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Add(KeyValuePair`2 keyValuePair)
at proto_32(Object, ProtoReader)
at ProtoBuf.Meta.TypeModel.TryDeserializeAuxiliaryType(ProtoReader reader, DataFormat format, Int32 tag, Type type, Object& value, Boolean skipOtherFields, Boolean asListItem, Boolean autoCreate, Boolean insideList, Object parentListOrType) in C:\Code\pb-net_24\src\protobuf-net\Meta\TypeModel.cs:line 1077
at ProtoBuf.Meta.TypeModel.TryDeserializeList(TypeModel model, ProtoReader reader, DataFormat format, Int32 tag, Type listType, Type itemType, Object& value) in C:\Code\pb-net_24\src\protobuf-net\Meta\TypeModel.cs:line 946
at ProtoBuf.Meta.TypeModel.TryDeserializeAuxiliaryType(ProtoReader reader, DataFormat format, Int32 tag, Type type, Object& value, Boolean skipOtherFields, Boolean asListItem, Boolean autoCreate, Boolean insideList, Object parentListOrType) in C:\Code\pb-net_24\src\protobuf-net\Meta\TypeModel.cs:line 1077
at ProtoBuf.Meta.TypeModel.DeserializeCore(ProtoReader reader, Type type, Object value, Boolean noAutoCreate) in C:\Code\pb-net_24\src\protobuf-net\Meta\TypeModel.cs:line 721
at ProtoBuf.Meta.TypeModel.Deserialize(Stream source, Object value, Type type, SerializationContext context) in C:\Code\pb-net_24\src\protobuf-net\Meta\TypeModel.cs:line 591
at ProtoBuf.Meta.TypeModel.Deserialize(Stream source, Object value, Type type) in C:\Code\pb-net_24\src\protobuf-net\Meta\TypeModel.cs:line 570
at ProtoBuf.Serializer.Deserialize[T](Stream source) in C:\Code\pb-net_24\src\protobuf-net\Serializer.cs:line 68
at Vintagestory.API.Util.SerializerUtil.Deserialize[T](Byte[] data) in VintagestoryApi\Util\SerializerUtil.cs:line 60
at SaveGame.GetData[T](String name, T defaultValue) in VintagestoryLib\Server\Models\SaveGame.cs:line 371
at canspawnconditions.NováSložka.KilledChecker.LoadData() in C:\Users\koeni\source\repos\canspawnconditions\canspawnconditions\canspawnconditions\src\KilledChecker.cs:line 84
at canspawnconditions.canspawnconditions.<>c__DisplayClass3_0.b__1() in C:\Users\koeni\source\repos\canspawnconditions\canspawnconditions\canspawnconditions\canspawnconditions.cs:line 50
at Vintagestory.Server.ServerEventAPI.OnServerStage(EnumServerRunPhase runPhase) in VintagestoryLib\Server\API\ServerEventAPI.cs:line 147
at Vintagestory.Server.ServerSystemModHandler.OnBeginGameReady(SaveGame savegame) in VintagestoryLib\Server\Systems\ModHandler.cs:line 77
at Vintagestory.Server.ServerMain.EnterRunPhase(EnumServerRunPhase runPhase) in VintagestoryLib\Server\ServerMain.cs:line 657
at Vintagestory.Server.ServerMain.Launch() in VintagestoryLib\Server\ServerMain.cs:line 576
at Vintagestory.Server.ServerProgram.Main() in VintagestoryLib\Server\ServerProgram.cs:line 132
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Vargur
both ways can work, the first one with a block would be easier to use I guess but would require some texture/model(or you can just hide it)
This is a great mod for immersion imo, I hate seeing drifter pop into existence right next to me.
Question related to the no spawn area feature, do you think its possible to make the area placeable somehow? Something like a block that when placed at the corners of a square would block spawn inside those lines? It would be ideal to be able to exactly match the no-spawn zone to base walls somehow. Or maybe the no-spawn zone could be set in a config via coords?