It should use one or the other to save these keyvalues. It might be better to remove the explicit keyvalue properties for classname and model and rely solely on the keyvalues dictionary, since users will likely have their own wrapper around this data.
When a BSP file's entities lump is written it writes the
classname
andmodel
keys twice. This is because it writes both all keyvalues and these keyvalues explicitly: https://github.com/LogicAndTrick/sledge-formats/blob/72abe60b0199ebbad06c688914ebde552d358363/Sledge.Formats.Bsp/Lumps/Entities.cs#L157-L170Both keyvalues are added to the list of keyvalues on load: https://github.com/LogicAndTrick/sledge-formats/blob/72abe60b0199ebbad06c688914ebde552d358363/Sledge.Formats.Bsp/Lumps/Entities.cs#L124-L136
It should use one or the other to save these keyvalues. It might be better to remove the explicit keyvalue properties for
classname
andmodel
and rely solely on the keyvalues dictionary, since users will likely have their own wrapper around this data.