public PandaBlockFarmAreaJob(
     BlockFarmAreaJobDefinition def,
     Colony owner,
     Vector3Int min,
     Vector3Int max,
     int npcID,
     RecipeSettingsGroup.GroupID npcGroupID)
     : base(def, owner, min, max, npcID)
     => this.CraftingGroupID = npcGroupID;
        public override IAreaJob CreateAreaJob(Colony owner, JSONNode node)
        {
            Vector3Int min = new Vector3Int()
            {
                x = node.GetAsOrDefault <int>("x-", int.MinValue),
                y = node.GetAsOrDefault <int>("y-", int.MinValue),
                z = node.GetAsOrDefault <int>("z-", int.MinValue)
            };
            Vector3Int max = min + new Vector3Int()
            {
                x = node.GetAsOrDefault <int>("xd", 0),
                y = node.GetAsOrDefault <int>("yd", 0),
                z = node.GetAsOrDefault <int>("zd", 0)
            };
            int asOrDefault = node.GetAsOrDefault <int>("npc", 0);

            RecipeSettingsGroup.GroupID npcGroupID = new RecipeSettingsGroup.GroupID(node.GetAsOrDefault <uint>("gid", 0U));
            return(new PandaBlockFarmAreaJob(this, owner, min, max, asOrDefault, npcGroupID));
        }