SpawnInfo.exportedEntityDat doesnt work anymore for area-filebased structure creating :-( public async Task CreateStructure(ShipInfo ship, PlayerInfo player) { var NewID = await Request_NewEntityId(); var isEPBFile = string.Compare(Path.GetExtension(ship.StructureDirectoryOrEPBName), ".epb", StringComparison.InvariantCultureIgnoreCase) == 0; var SpawnInfo = new EntitySpawnInfo() { forceEntityId = NewID.id, playfield = ship.SpawnLocation.playfield, pos = ship.SpawnLocation.pos, rot = ship.SpawnLocation.rot, name = $"{ship.DisplayName} for {player.playerName}", type = (byte)ship.EntityType, entityTypeName = "", // 'Kommentare der Devs: ...or set this to f.e. 'ZiraxMale', 'AlienCivilian1Fat', etc factionGroup = 1, factionId = player.entityId, }; if (isEPBFile) { SpawnInfo.prefabName = Path.GetFileNameWithoutExtension (ship.StructureDirectoryOrEPBName); SpawnInfo.prefabDir = Path.Combine(EmpyrionConfiguration.SaveGameModPath, "ShipsData"); } else { var SourceDir = Path.Combine(EmpyrionConfiguration.SaveGameModPath, "ShipsData", ship.StructureDirectoryOrEPBName); var TargetDir = Path.Combine(EmpyrionConfiguration.SaveGamePath, "Shared", $"{NewID.id}"); var exportDat = Path.Combine(SourceDir, "Export.dat"); SpawnInfo.exportedEntityDat = File.Exists(exportDat) ? exportDat : null; Directory.CreateDirectory(Path.GetDirectoryName(TargetDir)); CopyAll(new DirectoryInfo(SourceDir), new DirectoryInfo(TargetDir)); } try { await Request_Load_Playfield(new PlayfieldLoad(20, ship.SpawnLocation.playfield, 0)); } catch { } // Playfield already loaded await Request_Entity_Spawn(SpawnInfo); await Request_Structure_Touch(NewID); // Sonst wird die Struktur sofort wieder gelöscht !!! } EPB works fine and if exportedEntityDat is set to null the structure is created also BUT without the device configurations. And it dosent matter if the Export.dat is in the same folder or another The full code you will finde here https://github.com/GitHub-TC/EmpyrionShipBuying
Eleon.Modding.IPlayer Interface Reference SteamId[get] - always return empty string it would be nice to add the missing fields as in Eleon.Modding.PlayerInfo Class
BUG? Eleon.Modding.IPlayer Interface Reference properties give the correct value only on the first call, then the data in them is frozen and no longer change List< ItemStack > Toolbar[get] List< ItemStack > Bag[get] Very nice, but the 0 slot of the Toolbar property is changing) and only it
Mode: Survival Mode: Dedicated Server SERVER NAME: my test server SEED-ID: Reproducibility: Always Severity:Minor Type: DB Summary: API command - Entity_Destroy and Entity_Destroy2 not mark entity deleted in database! isremoved parameter in entity does not change to true admin command in console - work correct
Hello there, IBlock::getDamage() does not work correctly for "multe-size" blocks like HV/SV cockpits or thrusters. For such blocks the correct value is only returned for the coordinate of the structure that is shown in the debug info. All other coordinates return 0 damage. On the other hand, the Id is returned correctly for all parts of the "multi-size" block. If the damage would be returned correctly for all blocks of the dtructure that are occupied by lets say a SV cockpit, this would allow for example a mod for damage monitoring. With the current state this his hardly possible.
I have a question here: Since the ModAPI bugs are not tracked in the regular bug thread and there are no bug states, how can we now you plan to deal with the reported bugs?
Jascha will test it and report it internaly towards us When it will be fixed you will find it in the Patch Notes
Have news on bug fixes and new API improvements? It is necessary to fix the incorrect display of data in IPlayer, add methods for editing parameters, fix the StructureUnload method You need to get and edit data on the reputation of NPCs, debuffs, armor, armor status and improvements. add the ability not only to see events after the fact, but to receive control before the event, with the possibility of correction or cancellation. For example, the player wants to teleport to Aqua, and we teleport him to Omicron ...) or simply write to him that teleport is impossible!
when you drive a ship to change playfield, the ship you are driving will be MISSING in the IModApi.ClientPlayfield.Entities looks like it is not added.
@Jascha In der 1.4 arbeitet die "neue" Mimik für Blocks/Items nur über Namen - wie kann ich ermitteln welche IDs dazu gehören da die ModAPI ja nur auf IDs funktioniert?
ItemIds are added by Number even for > 2048 { Item Id: 2049, Name: xxxxx } etc etc etc For the ModAPI its ItemsConfig IdNumber + 4096 This number you get out of that you use in the ModAPI BlockIds also have a Number even for > 2048 There written like this { Block Name: xxxx } But they have a number the first block is 2048, 2049, 2050 etc etc They just dont have this number listed in the BlocksConfig.ecf For the BlocksConfig you use the actual number in the ModAPI so 2048, 2049, 2050 etc etc
Man hätte auch einfach sagen können <4096 ist Eleon alles darüber sind zusätzliche Dinge von Moddern. Dann hätte man nichts Ändern müssen!!! Diese, nun implementierte, "Krücke" erschließt sich mir nicht :-(
There will be an HOTFIX later today what will change the Config_Example.ecf so you can simple read it again for import and you dont have to add changes to your code. We changed the IdNumbes in the file f.ex: Code: { Item Id: 4373, Name: AnniversaryCake, Ref: FoodTemplate }
Check your code please. It works fine for me. Checked EAH since its useing it aswell and works fine too EAH writes a Itemlist.csv to Root/Content/Mods/EPF/ItemList.csv Simple line of Code to write it to the Playfield.log File Code: foreach (KeyValuePair<string, int> testSystem in modApi.Application.GetBlockAndItemMapping()) { modApi.LogError($"{testSystem.Key}, {testSystem.Value}"); }
It works in Dedi (Dedicated_210317-115746-93.log) Note: but the block mapping is empty :-( but not in PfServer (Playfield_210317-115756-30.log) tested with a ReforgedEden sceario
Iam running it on the PlayfieldServer and so is EAH. It works fine for us. This is really something in your code thats not correct You cant get this on the Dedi. Its PfServer ONLY