If you are setting up/removing domes from an external plugin with no player involvement it throws errors because there is not a player running the commands. It would be easy to overload these methods or simply handle a null player object. A current work around would be to have an admin run a command in the external plugin that sets up/removes the domes but this is tedious, annoying and doesn't allow for timed setup/removal.
Example of an error that arises from this:
Failed to call hook 'AddNewDome' on plugin 'ZoneDomes v2.0.2' (NullReferenceException: Object reference not set to an instance of an object)
at Oxide.Plugins.ZoneDomes.TranslateMessage (BasePlayer player, System.String key, System.String additional) [0x00033] in <8528a7de199e4054a78a0c5e42909353>:0
at Oxide.Plugins.ZoneDomes.AddNewDome (BasePlayer player, System.String zoneId, System.Int32 type, System.Int32 stack) [0x000b7] in <8528a7de199e4054a78a0c5e42909353>:0
at Oxide.Plugins.ZoneDomes.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00603] in <8528a7de199e4054a78a0c5e42909353>:0
at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <42f9bedc659b4f4786eb778d3cd58968>:0
at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in <8cb2d664f1574f2b96d53f1c1869d96a>:0
at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <8cb2d664f1574f2b96d53f1c1869d96a>:0