Unfortunately, you cannot change the access mode of "Player" entities. That's prevented by the API (you'll get an exception if you try). I must admit I can't remember at the moment why we did this, but I'm pretty sure there was a good reason. 😉
In any case, it's really simple to create an additional entity and save it with the same ID as the one from the player.
Let's say you've got an entity of type "CustomEntity" that you created yourself, like this:
public class CustomEntity extends Entity
public var name:String;
public var age:int;
public function CustomEntity(name:String="unknown", age:int=0)
this.name = name;
this.age = age;
this.publicAccess = Access.READ_WRITE;
Now, when you instantiate this entity, assign your player id:
var entity:CustomEntity = new CustomEntity();
entity.id = Player.current.id;
That's it! Now you can call "saveQueued()" to store that entity on the server, and anyone who knows the player id can call "Entity.load()" to retrieve such an entity.
Does that help?
BTW, since you said you wanted to create a turn-based multiplayer app with this technique, I think I need to add a small disclaimer here: please be aware that Flox is not ideal for this scenario, at least if you plan to have a high number of turns per game session.
That's because (1) there is no way to get notified that an entity has changed (which means you will probably need polling) and (2) the number of ops that this costs can become quite high, which might make this too expensive. 🙁